Decorator Pattern
装饰器模式动态为对象添加职责而不改其类,通过包装链叠加行为,替代继承扩展。
用途
运行时动态叠加功能,比继承更灵活地扩展对象。
机制
装饰器实现与目标相同接口,持有目标引用,调用前/后添加行为。多层装饰器形成包装链。Java InputStream 系列、Python @decorator 是典型。
用例
- 功能叠加
- I/O 流装饰
- 横切关注点
装饰器模式动态为对象添加职责而不改其类,通过包装链叠加行为,替代继承扩展。
运行时动态叠加功能,比继承更灵活地扩展对象。
装饰器实现与目标相同接口,持有目标引用,调用前/后添加行为。多层装饰器形成包装链。Java InputStream 系列、Python @decorator 是典型。