组合模式定义
将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式有时候又叫部分-整体模式。
组合模式结构图
组合模式角色介绍
抽象构件角色,Component,一个普通业务构件,它可以是接口或抽象类,为叶子构件和容器构件对象声明接口。
叶子构件角色,Leaf,它在组合结构中表示叶子节点对象,叶子节点没有子节点,它实现了在抽象构件中定义的行为。对于那些访问及管理子构件的方法,可以通过异常等方式进行处理。
容器构件角色,Composite,它在组合结构中表示容器节点对象,容器节点包含子节点,其子节点可以是叶子节点,也可以是容器节点,它提供一个集合用于存储子节点,实现了在抽象构件中定义的行为,包括那些访问及管理子构件的方法,在其业务方法中可以递归调用其子节点的业务方法。
组合模式结构代码
抽象构件:
public interface Component {
void operation();
//向容器中添加构件
void add(Component