装饰模式 目的 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。 解释 优缺点 装饰类和被装饰类可以独立发展,不会相互耦合(采用组合而不是继承),装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。 但是装饰模式比较复杂 在封装器栈中删除特定封装器比较困难; 较难实现行为不受到先后顺序影响的装饰; 各装饰层的代码相对冗余。 示例 UML 图