Target Client <<interface>> Original operationA() operationB() Adapter operationA() operationB()
Target Client <<interface>> operationA() Adapter Original operationB() original operationA() original.operationB()
Target Client <<interface>> BETTER operationA() Adapter Original operationB() original operationA() original.operationB()
Component <<interface>> operation() ConcreteComponentA ConcreteComponentC operation() operation() Decorator ConcreteComponentB component operation() addedState operation() ... addedOperation() component.operation()
Recommend
More recommend