组合模式(Composite Pattern),是结构型模式之一。组合模式比较简单,它将一组相似的对象看作一个对象处理,并根据一个树状结构来组合对象,然后提供一个统一的方法去访问相应的对象,以在组合模式结构图中包含如下几个角色:● Component(抽象构件):它可以是接口或抽象类,为叶子构件和容器构件对象声明接口,在该角色中可以包含所有子类共有行为的声明和实现。在抽象构
?ω? 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得对单个对象和组合对象的使用具有一致性。示例如下图所示,就是日常工作中一个很常见的树形结构的例子:对于这种相比于透明组合模式,安全组合模式在进行递归的时候需要进行强转操作,毕竟相关的方法是在具体子类进行实现的而不是在抽象类中。同样因为是空数据。。。就不打
图1 透明式的组合模式的结构图(2) 安全方式在该方式中,将管理子构件的方法移到树枝构件中,抽象构件和树叶构件没有对子对象的管理方法,这样就避免了上一种方式的安全性问题,但由这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。5.6.2 结构组合模式主要包含三种⾓⾊:抽象根节点(Component):定义系统各层次对象的共有⽅法和属性,可以
Java设计模式之组合模式(透明组合模式,安全组合模式)⼀、概述组合多个对象形成树形结构以表⽰具有部分-整体关系的层次结构,可以让客户端统⼀对待单个对象和组合对象。组组合模式在具体实现上,有两种不同的方式,分别是透明组合模式和安全组合模式。透明组合模式将公共接口封装到抽象根节点(Component)中,系统所有节点具备一致行为,如果当系统绝大多数