- 组合模式:
部分-整体模式,它使我们树形结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 - 意图:
将对象组合成树形结构以表示部分-整体的单层结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 - 组成:
- Component 抽象构件接口:
为组合的对象声明接口。
在某些情况下实现从此接口派生出的所有类共有的默认行为。
定义一个接口可以访问及管理它的多个子部件。 - Leaf 叶部件:
在组合中表示叶节点对象,叶节点没有子节点。
定义组合中接口对象的行为。 - Composite 组合类:
定义有子节点(子部件)的部件的行为。
存储子节点(子部件)。
在Component接口中实现与子部件相关的操作。 - Client 客户端:
通过Component接口控制组合部件的对象。
- Component 抽象构件接口:
- 组合模式有两种实现方式:
- 将管理子元素的方法定义在Composite类中。
- 将管理子元素的方法定义在Component类中,( Leaf类需对这些管理方法空实现)。