一,装饰器模式简介
装饰器模式是一种结构型设计模式, 它允许在不改变现有对象的情况下,动态地将功能添加到对象中。
装饰器模式是通过创建具有新行为的对象来实现的,这些对象将原始对象进行了包装。
装饰器模式遵循开放/关闭原则,允许开发者在不修改现有代码的情况下添加新的装饰器。
日常开发中常用的装饰器属于类装饰器,通过继承父类来实现。
二,装饰器模式的结构
1.抽象组件(Component):被装饰的对象,声明了对外的统一接口。
2.具体组件(ConcreteComponent):包含抽象组件接口的具体代码实现。
3.抽象装饰器(Decorator):包含对抽象组件的指针或引用,并定义了与抽象组件一致的接口。
4.具体装饰器(ConcreteDecorator):包含抽象装饰器接口的具体代码实现,并且可以在调用对外接口之前或之后添加额外的行为。
对应UML类图: