装饰器设计模式(Decorator Pattern)详解
装饰器设计模式(Decorator Pattern)详解
装饰器模式是一种结构型设计模式,它允许动态地向对象添加额外行为,而无需修改其原始类。这种模式通过包装对象的方式提供灵活的扩展功能替代继承。
1. 核心概念
(1)模式定义
装饰器模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更为灵活。
(2)适用场景
- 需要动态扩展对象功能,但不想修改原有代码
- 需要组合多种功能,避免使用多层继承
- 系统需要在运行时选择不同行为
注意:
- 在装饰器设计模式中有两个重要的角色:装饰者,被装饰者
- 装饰器设计模式当中要求:装饰者 与 被装饰者 应实现同一个接口/同一些接口,继承同一个抽象类
- 为什么装饰者 与 被装饰者 要实现同一个接口?
因为实现了同一个接口后,对于客户端程序来说,使用 装饰者 ()的时候就像在使用 被装饰者 一样