目录
装饰者模式在IO流中的体现(FileterInputStream)
装饰者模式的定义
1)装饰者模式:动态的将新功能附加到对象上。在对象扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(ocp)
2)这里提到的动态的将新功能附加到对象和ocp原则,在后面的应用实例上会以代码的形式体现。
星巴克订单案例
装饰者模式原理
1)装饰者模式就像打包一个快递
>主体:比如:陶瓷、衣服->(Component)//被装饰者
>包装:比如:报纸填充、塑料泡沫、纸板】模板->(Decorator)
2)Component
主体:比如类似前面的Drink
3)ConcreteComponent和Decorator
ConcreteComponen:具体的主体,比如前面的各个单品咖啡
Decorator:装饰者,比如各种调料
4)在如图的Component与ConcreteComponen之间,如果ConcreteComponen类很多,还可以设计一个缓冲层,将共有的部分提取出来,抽象层一个类。