Skip to content

Latest commit

 

History

History
28 lines (15 loc) · 1.52 KB

File metadata and controls

28 lines (15 loc) · 1.52 KB

组合模式

组合模式指的是局部-整体的关系,比如火车车厢离开了火车就没有存在的意义。

组合模式常常拿来与聚合作比较,聚合指代的是整体-局部的关系,其中局部可以脱离整体而单独存在,比如班级如果解散了,学生的单独存在是有意义的。

这是一个理想情况下可无限循环的结构体,组合模式的出现就是为了让我们以一致的方式来处理个别对象亦或者组合对象,而不必区分对象类型。也就是说,当我们 用到树形结构或者类似的“部分-整体”关系的时候我们就可以使用组合模式。

组合模式的UML图

组成角色

使用实例

接下来,我们通过一个实例来说明下什么是组合模式?比方拿我们以前实验室来说,说我们有很多实验部门,每个部底下会管理多台实验设备,每个部门底下又会存在多个子部门,使用图例描述如下:

组合模式组合多个对象成树形结构以表示“部分整体”关系的层次结构,使得我们能以一致的方式来处理单个对象及对象的组合,而无需关心处理的是单个对象还是某个复合对象。

总结