装饰器设计模式(Decorator Pattern)详解

装饰器设计模式(Decorator Pattern)详解

装饰器模式是一种结构型设计模式,它允许动态地向对象添加额外行为,而无需修改其原始类。这种模式通过包装对象的方式提供灵活的扩展功能替代继承。


1. 核心概念

(1)模式定义

装饰器模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更为灵活。

(2)适用场景

  • 需要动态扩展对象功能,但不想修改原有代码
  • 需要组合多种功能,避免使用多层继承
  • 系统需要在运行时选择不同行为

注意:

  • 在装饰器设计模式中有两个重要的角色:装饰者,被装饰者
  • 装饰器设计模式当中要求:装饰者 与 被装饰者 应实现同一个接口/同一些接口,继承同一个抽象类
  • 为什么装饰者 与 被装饰者 要实现同一个接口?
    因为实现了同一个接口后,对于客户端程序来说,使用 装饰者 ()的时候就像在使用 被装饰者 一样
  • 装饰者 含有被装饰者 的引用(A has a B.尽量使用has a,这样的耦合度低,不要使用is a)

2. UML类图

你可能感兴趣的:(设计模式,设计模式,装饰器模式)