装饰者模式
装饰者模式指在不改变原类定义及继承关系的情况跟下,动态的拓展一个类的功能,就是利用创建一个包装类(wrapper)来装饰(decorator)一个已有的类。
包含角色:
被装饰者:
- Component 抽象被装饰者,
-
ConcreteComponent 具体被装饰者,Component的实现,在装饰者模式中装饰的就是这货。
装饰者:
- Decorator 装饰者 一般是一个抽象类并且作为Component的子类,Decorator必然会有一个成员变量用来存储Component的实例
-
ConcreateDecorator 具体装饰者 Decorator的实现
在装饰者模式中必然会有一个最基本,最核心,最原始的接口或抽象类充当component和decorator的抽象组件
实现要点:
- 定义一个类或接口,并且让装饰者及被装饰者的都继承或实现这个类或接口
- 装饰者中必须持有被装饰者的引用










