定义 Attach additional responsibilities to an object dynamically keeping the same interface.Decorators provide a flexible alternative to subclassing for extending functionality.(动态地给一个对象添加一些额外的职责。 就增加功能来说,装饰模式相比生成子类更为灵活 UML类图 角色 Component 抽象构件,就是装饰器与被装饰类共有的抽象。 ConcreteComponent 具体构件,就是被装饰类 Decorator 装饰器抽象,就是装饰器的抽象 ConcreteDecorator 装饰器的具体实现 应用 应用中通常代码如: 装饰类实现: //构造方法,初始化成员变量为装饰类 public ConcreteDecorator1(Component component){ //抽象装饰器中定义的构造方法,初始化被装饰类到成员变量 super(component); } public void operate(){ //这里可以添加一些功能增强 this.component.operate() //这里可以添加一些功能增强 } 场景类应用: Component component = new