21.组合模式
组合模式(Composite Pattern)也叫合成模式,有时又叫做部分—整体模式(Part-Whole),主要是用来描述部分与整体的关系,其定义如下:Compose objects into tree structures to represent part-whole hierarchies.Composite lets clients treat individual objects and compositions of objects uniformly.将对象组合成树形结构以表示“部分—整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
组合模式的优点:
- 高层模块调用简单,一颗树形结构中的所有节点都是Component,局部和整体对调用者来说没有任何区别,也就是说,高层模块不必关心自己处理的事单个对象还是整个组合结构,简化了高层模块的代码。
- 节点自由增加
组合模式的使用场景
- 维护和展示部分—整体关系的场景,如树形菜单、文件和文件夹管理
- 从一个整体中能够独立出部分模块或功能的场景