复习时看到了Decorator设计模式,即装饰器设计模式,大致总结了其实现的步骤:
1.首先应该有一个装饰器抽象类。有基础的构造器,其实现接口,后续每个效果装饰器子类均扩展他
2.其次,核心类,他实现接口并保留最基础的功能。
在实现时,每个效果装饰器子类extends基础装饰器类,构造时则调用父类的构造方法构造。
这个模式的优点便是可以将本来组合爆炸的各种方法进行简化,成为“一层层穿衣服”的模式,所以在每个效果装饰器进行进行自己的效果方法扩展时,最好应该一个效果装饰器实现一个效果,即每个效果装饰器子类只扩展出一个方法
在实现扩展时,将核心类传入decorator的类中,实现一次效果,“穿一次衣服”,最终一步步将其包裹成所需要的“完全体”
所以在扩展以装饰器设计模式设计的代码时就可以加入新的效果装饰器实现新效果,而无需对修改原有效果