组合模式
2020-05-03 本文已影响0人
jianshujoker
定义
将对象组合成树形结构,以表示“部分-整体”的层次结构,是用户对单个对象和组合对象的使用具有一致性
类图
透明模式

- 透明模式中抽象组件定义了所有方法,叶子节点和树枝选择自己需要实现的方法覆盖
安全模式

- 安全模式抽象组件只定义了公共的方法,叶子和树枝分别实现自己需要的方法
应用场景
- 维护和展示部分-整体关系的场景,如组织机构、操作系统目录等
- 希望忽略组合对象和单个对象差异时
优缺点
- 优点
- 高层调用简单,不关心处理的是单个对象还是组合对象
- 增加节点方便,利于扩展
- 缺点
- 增加复杂度