设计模式 - 组合模式

定义

Compose objects into tree structures to represent part-whole hierarchies.
Composite lets clients treat individual objects and compositions of objects uniformly.

UML

实例

UI视图、用户控件

  1. 需要实现树状对象结构。
  2. 以相同方式处理简单和复杂元素。

比较

桥接模式、状态模式、策略模式、适配器模式,都是基于组合模式,即将工作委派给其他对象,不过也各自解决了不同的问题。

比较 组合模式 备注
建造者模式 创建复杂组合树时使用建造者模式,以递归进行构造
责任链模式 责任链和组合结合,叶组件接收到请求后,可以将请求沿着包含全体父组件的链一直传递至对象树的底部
迭代器模式 迭代器可以遍历组合树
访问者模式 访问者可以对整个组合树执行操作
享元模式 享元实现组合树的叶结点共享以节省内存
装饰模式 组合仅对子结点的结果进行汇总 装饰只有一个子组件,为被封装对象添加额外的职责;可以使用装饰来扩展组合树中特定对象的行为
posted @   wesson2019  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-04-21 Ling应用
点击右上角即可分享
微信分享提示