设计模式 - 组合模式

定义

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 @ 2022-04-21 23:43  wesson2019  阅读(20)  评论(0编辑  收藏  举报