对象的结构模式!
也称为部分-整体模式。
定义
将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
生活案例
医院-科室-医生的关系
学校-学院-学生的关系
公司-部门-人员的关系
树结构
1、一个基于继承的类型的等级结构便是一个树结构
2、一个基于合成的对象结构也是一个树结构
有向树结构种类
1、从上而下
父节点拥有对子节点的引用
2、从下向上
子节点拥有对父节点的引用
3、双向
父子节点拥有双向的引用
根据节点是否具备管理子节点的方法,将组合模式分成
1、透明式的组合模式
节点对象统一包含add、remove等管理子节点的方法,不用区分树枝节点额树叶节点。
2、安全式的组合模式
只有树枝节点才有add、remove等管理子节点的方法,需要客户端区分树枝节点还是树叶节点。
使用案例
1、文件系统中 (目录与文件的关系)
2、AWT中的控件 (容器控件与普通控件的关系)