本模式中包含的角色:抽象构件(Component):给出一个抽象接口,以规范准备接收附加责任的对象。具体构件(Concrete Component):定义一个接收到附加责任的类。装饰(Decorator):持有一个构件对象的实例,并定义与抽象构件一致的接口。具体装饰(Concrete Decorator):负责给构件对象贴上附加的责任。UML图如下:具体例子:先定义抽象构件: