设计模式之组合模式

旧城冷巷雨未停 提交于 2019-12-04 18:20:24

定义

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

UML类图

组合模式有两种不同的实现,一种是安全模式的组合模式,叶子节点没有实现树枝节点独有的方法,UML图为:

另一种是透明模式的组合模式,将树枝节点的方法定义在了节点抽象里面,只是子类没有实现:

角色

  • Component,树枝节点与树叶节点统一抽象,主要是被树枝节点类关联。
  • Composient,树枝节点类
  • Leaf,树叶节点类

思考

组合模式主要是通过把树枝节点和树叶节点统一抽象为了一个类,也就是树枝节点的getChildren方法并不关心返回的是树枝还是叶子类对象,返回的是Component。该模式主要是一种反映树状模型的设计。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!