七、装饰器模式

装饰器模式(Decorator Pattern)是一种结构型设计模式,允许在不改变对象自身的情况下,动态地向对象添加新功能。它通过将功能附加到对象的方式来增强其行为,提供了一种灵活的替代方案来使用子类扩展功能。

七、装饰器模式_第1张图片

主要组成部分:

  1. 抽象构件(Component)

    • 定义一个接口或抽象类,声明了要装饰的对象的基本功能。
  2. 具体构件(ConcreteComponent)

    • 实现抽象构件的具体类,是被装饰的原始对象。
  3. 装饰器(Decorator)

    • 持有一个抽象构件的引用,并实现抽象构件的接口,用于扩展功能。
  4. 具体装饰类(ConcreteDecorator)

    • 继承自装饰器并添加额外功能。

优点:

  1. 灵活性:可以在运行时添加功能,而不影响其他对象。
  2. 单一职责原则:每个装饰类都有自己的职责,可以独立地进行扩展。
  3. 可替换性:可以在装饰器之间自由组合。

使用场景:

  • 需要在运行时添加额外功能或职责。
  • 希望通过组合来实现不同的行为,避免使用大量的子类。

JAVA: 

例如:制作咖啡(Coffee): 普通咖啡和价格, 那么加牛奶, 加糖都是对普通咖啡的增强

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