[size=large]
组合模式
1、 意图:将对象组合成树形结构以表示“部分”-“整体”的层次结构。组合模式是得对单个对象和对组合对象的使用具有一致性。
2、 关键是一个抽象类,声明所有的组合对象共享的一些操作;子类实现自己所需要的操作。结构模式的实质是递归。
3、 结构:
[img]http://dl2.iteye.com/upload/attachment/0111/0219/d32b2544-f19d-3d3f-8bb4-b914b3b60d29.png[/img]
Composite:为组合模式中的对象声明接口,在适当情况下实现所有类共有接口的缺省行为。
Leaf:实现子类有关操作的对象。
用户接口与组合结构中的对象进行交互,如果接受者是一个叶节点,则直接处理请求;如果接收者是接口或抽象类,则通常将请求发送给自己的子类;让子类做具体实现。
好处:定义了包含基本对象和组合对象的类层次结构,基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,这样不断的递归下去。
使得容易增加新类型的组件,新定义的组合类或子类自动地与已有的结构工作。
[/size]
组合模式
1、 意图:将对象组合成树形结构以表示“部分”-“整体”的层次结构。组合模式是得对单个对象和对组合对象的使用具有一致性。
2、 关键是一个抽象类,声明所有的组合对象共享的一些操作;子类实现自己所需要的操作。结构模式的实质是递归。
3、 结构:
[img]http://dl2.iteye.com/upload/attachment/0111/0219/d32b2544-f19d-3d3f-8bb4-b914b3b60d29.png[/img]
Composite:为组合模式中的对象声明接口,在适当情况下实现所有类共有接口的缺省行为。
Leaf:实现子类有关操作的对象。
用户接口与组合结构中的对象进行交互,如果接受者是一个叶节点,则直接处理请求;如果接收者是接口或抽象类,则通常将请求发送给自己的子类;让子类做具体实现。
好处:定义了包含基本对象和组合对象的类层次结构,基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,这样不断的递归下去。
使得容易增加新类型的组件,新定义的组合类或子类自动地与已有的结构工作。
[/size]