组合模式合成模式

mac2022-06-30  24

对象的结构模式!

也称为部分-整体模式。

 

定义

将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

 

生活案例

医院-科室-医生的关系

学校-学院-学生的关系

公司-部门-人员的关系

 

树结构

1、一个基于继承的类型的等级结构便是一个树结构

2、一个基于合成的对象结构也是一个树结构

 

有向树结构种类

1、从上而下

   父节点拥有对子节点的引用

2、从下向上

   子节点拥有对父节点的引用

3、双向

   父子节点拥有双向的引用

 

根据节点是否具备管理子节点的方法,将组合模式分成

1、透明式的组合模式

   节点对象统一包含add、remove等管理子节点的方法,不用区分树枝节点额树叶节点。

2、安全式的组合模式

  只有树枝节点才有add、remove等管理子节点的方法,需要客户端区分树枝节点还是树叶节点。

 

使用案例

1、文件系统中 (目录与文件的关系)

2、AWT中的控件 (容器控件与普通控件的关系)

 

 

 

 

 

最新回复(0)