为什么有装饰器模式
在讨论装饰器模式是什么,怎么用之前,首先要思考为什么有装饰器模式?每一项技术都不是凭空产生的,都是由于产生了某个难以解决的问题,为了解决问题而产生的。那么装饰器模式是为了解决什么问题而产生的?
装饰器模式是对继承模式的补充,有时候使用继承的方式会增加很多子类,导致扩展不容易,后期维护也不方便。这时候就可考虑用装饰器模式,装饰器模式可以动态的给一个类增加功能,不需要改原来的代码,而继承是静态地给一个类增加功能
装饰器模式的定义
使用场景
- 给一个类增加一些功能
- 需要动态地给一个对象扩展功能,这些功能还可以动态地撤销
- 需要给一批同级别的兄弟类添加功能,首选装饰器模式
参考文献
【1】秦小波,设计模式之禅,机械工业出版社