设计模式结构型组合模式
一、组合模式基本介绍
- 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构,以表示“整体部分”的关系。
- 组合模式依据树形结构来组合对象,用来表示部分以及整体层次;
- 这种设计模式属于结构性模式;
- 组合模式使得用户对单个对象和组合对象的访问具有一致性,即:组合模式能让客户以一致的方式处理个别对象以及组合对象。
二、组合模式各部分构成
- Component:这是组合对象声明接口,在适当情况下,实现所有类共有的默认行为,用于管理和访问Component子部件,Component可以是抽象类或者接口。
- Leaf:在组合中表示叶子节点,没有字节点。
- Composite:非叶子节点,用于存储滋补存储子部件,在Component接口中实现子部件相关操作,比如:增加(add)、删除(remove)、获取子节点(getChild)、具体操作(operation)。
三、组合模式解决的问题
组合模式解决这样的问题,当我们要处理的的对象可以生成一颗树形结构,而我们要对树上的节点和叶子进行操作时,它能提供一致的方式,而不考虑它是节点还是叶子。
四、组合模式的注意事项和细节
- 简化客户端操作,客户端只需要面对一致的对象而不用考虑整体部分或者节点叶子的问题;
- 具有较强的扩展性,当我们要更改组合对象时,我们只需要调整内部的层次关系,客户端不用做任何改动;
- 方便创建复杂的层次结构,客户端不用理解组合里面的组合细节,容易添加节点或者叶子,从而创建出复杂的树形结构;
- 需要遍历组织结构,或者处理对象具有树形结构时,非常适合使用组合模式;
- 具有较高的抽象性,如果节点和叶子具有很多差异性的话,比如很多方法和属性都不一样,不适合使用组合模式。
以上是 设计模式结构型组合模式 的全部内容, 来源链接: utcz.com/z/512190.html