Design Pattern: Composite

组合模式

部分-整体(Part-Whole)模式

模式涉及到的三个角色 
1)抽象构件(Component)角色:这是一个抽象角色,它给参加组合的对象规定一个接口。这个角色给出共有的接口机器默认行为。 
2)树叶构件(Leaf)角色:代表参加组合的树叶对象。一个树叶没有下级的子对象。定义出参加组合的原始对象的行为。 
3)树枝构件(Composite)角色:代表参加组合的有子对象的对象,并给出树枝构件对象的行为。

合成模式的实现根据所实现接口的区别分为两种形式,分别称为安全式和透明式,

根据抽象构件是否提供管理子对象的方法,是则透明式(树叶对象中管理子对象方法为空),否则安全式(抽象构件只提供业务方法)

树枝和树叶如果相对的理解,即树枝其下没有树叶,它就是树叶了,而如果树叶其下有了树叶,它就是树枝了。

这么一来,透明式更能保持一致性,树枝和树叶在运行时才被定论的,且运行时是可改变的。

posted on 2011-08-08 23:18  Angi  阅读(103)  评论(0)    收藏  举报

导航