当前位置: 首页 > news >正文

七、装饰器模式

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

主要组成部分:

  1. 抽象构件(Component)

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

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

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

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

优点:

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

使用场景:

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

JAVA: 

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


http://www.mrgr.cn/news/21052.html

相关文章:

  • 左值和右值
  • 数据结构 栈 队列
  • IntelliJ IDEA 中实现 Spring Boot 项目 的自动编译
  • X 射线测厚仪-高效精准,厚度测量的卓越之选
  • react useEffect用法
  • 使用 Bert 做文本分类,利用 Trainer 框架实现 二分类,事半功倍
  • GBase8sV8.8安装指南
  • chapter04 IDEA使用与快捷键 知识点Note
  • [图解]识别类和属性-投资少见效快产量高
  • MySQL 中的 `LOWER()` 和 `UPPER()` 函数:大小写转换
  • 模型融合创新性好强!最新成果直接登顶SOTA,分分钟拿下顶会
  • Java笔试面试题AI答之JDBC(3)
  • 开关电源纹波测试方法
  • RHCE必过技巧,无需本人参加也可拿证?
  • 远程访问服务器
  • C语言手撕实战代码_二叉树_构造二叉树_层序遍历二叉树_二叉树深度的超详细代码实现
  • ubuntu16.04下qt5.7.1添加对openssl的支持
  • Minitab统计软件 | Minitab是什么?面对棘手的业务挑战,为什么越来越多企业选用 Minitab ?
  • 中国传媒业人工智能应用发展图谱2024
  • LTRharvest使用教程(中文首发)