点击进入我的博客
组合模式,就是在一个对象中包含其他对象,这些被包含的对象可能是终点对象(不再包含别的对象),也有可能是非终点对象(其内部还包含其他对象)。
我们将对象称为节点,即一个根节点包含许多子节点,这些子节点有的不再包含子节点,而有的仍然包含子节点,以此类推。很明显,这是树形结构,终结点叫叶子节点,非终节点叫树枝节点,第一个节点叫根节点。
3.3.1 安全式的合成模式结构
安全式的合成模式要求管理集合的方法只出现在树枝结点(Composite)中,而不出现在树叶结点中。
安全式的合成模式
- 抽象构建(Component)角色:这是一个抽象角色,他给参加组合的对象定义出公共的接口及其默认行为,可以用来管理所有的子对象。
- 树叶(Leaf)角色:树叶是没有子对象的对象,定义出参加组合的原始对象的行为。
- 树枝(Composite)角色:代表参加组合的有下级子对象的对象。树枝构件类给出所有管理子对象的方法。
3.3.2 透明的合成模式结构
透明的合成模式透明的合成模式要求所有的具体构建类,都符合一个固定的接口。
网友评论