[设计模式]结构模式-装饰器模式(C++描述)
second60 20180429
1. 什么是装饰器
当我们为一个现有类A添加新的职责时,我们可能会定义新类B继承现有类,再添加新的操作。但是通过继承会使问题变得越来越复杂,如果类B又有新操作时,是否又在定义个类C来继承B呢?这样加深了继承的复杂度和深度,代码也越来越难维护。
装饰器就是为了解决新加类职责,继承实现的弊端,而是通过组合来实现。
2. 装饰器结构图
Component: 抽象构件角色
second60 20180429
当我们为一个现有类A添加新的职责时,我们可能会定义新类B继承现有类,再添加新的操作。但是通过继承会使问题变得越来越复杂,如果类B又有新操作时,是否又在定义个类C来继承B呢?这样加深了继承的复杂度和深度,代码也越来越难维护。
装饰器就是为了解决新加类职责,继承实现的弊端,而是通过组合来实现。
Component: 抽象构件角色