梗概 即一种上层封装 用于附加功能,接口不变 适用范围 特点 不影响原来的对象的内部结构,只是在外面做了一层包装,外部直接调用这层包装 给原来的对象附加上某些功能 一般而言,是将接口A同样封装为接口A 优点 扩展一个类的功能。动态增加功能,动态撤销 与原来的对象不会互相耦合,互相独立 缺点 多层装饰比较复杂。 场景 在不想增加很多子类的情况下扩展类。 可代替继承。