第十一章 装饰器模式(Decorator Pattern)
2019-06-29 本文已影响0人
穹生变
本章比较难于理解,需要反复仔细阅读和推断理解,也可以结合其他资料印证
1.简介
- 当系统需要加一下新方法或者逻辑,这些新加的东西只是为了满足特定的情况下才会执行的特殊行为。装饰模式提供了很好的解决方案,他把每个要装饰的功能放在单独的类中,并让这个类包装他所要装饰的对象,因此当需要执行特殊的行为时,客户端代码就可以在运行时根据需要有选择的、按照顺序地使用装饰功能包装对象了。
- 装饰模式属于结构型设计模式。
2.场景
1、扩展一个类的功能。
2、动态增加功能,动态撤销。
3.优缺点
优点:
装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。
缺点:
多层装饰比较复杂。
image.png4. 图片模型
image.png5. 代码实现
image.png image.png
image.png
image.png