component 是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象,如上面的成绩单。
注意:在装饰模式中,必须有一个从最基本、最核心、最原始的接口或者抽象类充当Component抽象构件。
concreteComponent是最核心、最原始、最基本的接口或抽象类的实现,你要装饰的就是它。
Decorator装饰角色
ConcreteDecoratorA和ConcreteDecoratorB是两个具体的装饰类,你要把你最核心的、最原始的、最基本的东西装饰成其他东西,上面的例子就是把一个比较平庸的成绩单装饰成家长认可的成绩单。
使用场景:
需要扩展一个类的功能,或给一个类增加附加功能。
需要动态的给一个对象增加功能,这些功能可以I动态的撤销。
需要为一批的兄弟类进行改装或加装功能,当让是首选装饰模式。
代码及类图后续补上。。。
来源:CSDN
作者:焱墩
链接:https://blog.csdn.net/yang1076180972/article/details/104580892