Files
Hui-s-notebook/203-Java/203.1-Java面试/205.19-网络&操作系统/组合模式.md
2023-09-10 10:50:53 +08:00

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 树枝构件

优点

  • 高层模块调用简单
  • 节点增加自由

缺点

树叶和树枝使用的定义直接使用了实现类,和依赖倒置原则冲突

使用场景

  • 维护和展示部分-整体关系的场景,如树形菜单,文件和文件夹管理
  • 从一个整体中能够独立出部分模块或功能的场景

透明的组合模式

透明模式把用来组合的方法放到抽象类中