定义:
装饰者模式: 动态的 将新功能 附加到对象上 。在对象功能扩展方面,它比继承更 有弹性,装饰者模式也体现了开闭原则(ocp)。装饰者模式与桥接模式的区别:①装饰者模式是为了新增新的功能;②桥接模式是对象自身沿着多个维度变,即对象内部可能不稳定;③两者都是为了解决子类过多的问题;
装饰者模式原理 :
1) 装饰者模式就像 打包一个快递 主体:比如:陶瓷、衣服 (Component) // 被装饰者 包装:比如:报纸填充、塑料泡沫、纸板、木板 (Decorator)2) Component主体:比如类似前面的 Drink3) ConcreteComponent 和 DecoratorConcreteComponent :具体的主体,比如前面的各个单品咖啡Decorator: 装饰者,比如各调料 .4) 在如图的 Component 与 ConcreteComponent 之间 ,如果 ConcreteComponent类很多 , 还可以设计一个缓冲层,将共有的部分提取出来, 抽象层一个类。
核心代码: