版权声明:如有任何疑问,欢迎@我:[email protected] https://blog.csdn.net/qq_37206105/article/details/84146672
介绍
- 定义:在不改变原有对象基础之上,将功能附加到对象上
- 说明:在扩展原有对象功能方面,提供了比继承更有弹性的替代方案
- 类型:结构型
- 适用场景:
- 扩展一个类的功能或给一个类添加附加职责
- 动态地给一个对象添加功能,这些功能又可以再动态的撤销
- 优点:
- 继承的有利补充,比继承灵活,不改变原有对象的情况下给对象扩展功能。
- 通过使用不同装饰类以及这些装饰类的不同组合,可以实现不同的效果
- 符合开闭原则
- 缺点
- 出现更多的代码,更多的类,增加程序复杂性
- 动态装饰,多层装饰时会更加复杂
- 相关设计模式
- 装饰器模式和代理模式
- 装饰器模式和适配器模式
这个看了它人的文章:《JAVA与模式》之装饰模式