每日一话:老虎不发威,你当我对象吧
装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象
一般来说我们给对象添加功能常使用继承的方式,但主要存在两方面问题:
1、超类和子类之间存在强耦合性。同时,继承通常被称为“白箱复用”,“白箱”是相对可见性而言的,超类的内部细节是对子类可见的,继承常常被认为破坏了封装性
2、在完成一些功能复用的同时,有可能创建出大量的子类,使得子类的数量呈爆炸性增长
装饰者模式能够在不改变对象自身的基础上,给对象动态地添加职责,比继承更为轻便