771 B
771 B
Compose objects into tree structures to represent part-whole hierarchies.Composite lets clients treat individual objects and compositions of objects uniformly.(将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。)
- Component 抽象构件角色
- Composite 树枝构件
优点
- 高层模块调用简单
- 节点增加自由
缺点
树叶和树枝使用的定义直接使用了实现类,和依赖倒置原则冲突
使用场景
- 维护和展示部分-整体关系的场景,如树形菜单,文件和文件夹管理
- 从一个整体中能够独立出部分模块或功能的场景
透明的组合模式
透明模式把用来组合的方法放到抽象类中