![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
组合:由几个部分或个体结合成整体或者组织成整体。
组合模式定义:将对象以树形结构组织起来,以达成“部分-整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。
组合模式的组成:
1):Component:它为组合中的对象声明接口,也可以为共有接口实现缺省行为。
2):角色Leaf:顾名思义,它是单一构件,不存在任何的子项.实现抽象构件角色声明的接口。
3):角色Composite:复杂对象,一般会包含多个树叶(Leaf)对象.实现抽象构件角色声明的接口;管理树叶(Leaf)对象。
组合模式一般有两实现方式:安全性与透明性模式
透明性:
在Component里面声明所有用来管理子类对象的方法。目的就是为了使客户看来Leaf和Composite没有区别。Leaf是不存在子类的,因此Component声明的一些方法对于Leaf来说是不适用的。这说是它的安全性问题。下面是类图:
![](http://embed.chinaitlab.com/UploadFiles_4615/201102/20110226165752648.jpg) |
|