模式简介
- 组合模式适用于树形结构的模型,表示部分与整体的层次关系,例如文件夹中有文件夹或文件;大学中有不同学院,学院中有不同专业……,故属于结构型模式。
- 该模式创建对象组的树形结构,将对象组合成树状结构,以表示部分与整体的层次。
- 组合模式能让客户以一致的方式处理个别对象和组合对象。
原理结构图
1)Component:(部件)这是在组合对象中声明的接口或者抽象类,实现所有类中共有的接口的默认行为,用于访问和管理Component的子部件。
2)Leaf:在组合中表示叶子节点,没有子节点。
3)Composite: (组合,相当于父类) 非叶子节点,用于存储子部件,可管理下一级的类。
Component与Composite聚合关系表示,Component的对象会加入到Composite中管理
分类
分为安全组合模式和透明组合模式
透明组合模式时