装饰器
用非继承方式实现功能扩展
· 抽象服务在有标准实现的同时,提供Wrapper继承并组合抽象服务,后续的功能扩展通过继承Wrapper实现
classDiagram
class Component {
<<interface>>
+method() void
}
class ComponentImpl
ComponentImpl ..|> Component : 实现
class AbstractComponentWrapper {
<<abstract>>
-Component component
}
AbstractComponentWrapper *-- Component : 构造器初始化成员
class ComponentWrapperA {
+otherMethodA() void
}
ComponentWrapperA --|> AbstractComponentWrapper : 继承
class ComponentWrapperB {
+otherMethodB() void
}
ComponentWrapperB --|> AbstractComponentWrapper : 继承