Objective-C 设计模式-组合模式 (Composite)
来源:互联网 发布:wms仓储管理系统 php 编辑:程序博客网 时间:2024/04/20 09:25
组合模式定义
把具有相同基类类型的对象组合到树形结构中,以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式使得树形结构中的每个节点都具有相同的抽象接口,整个结构可作为一个统一的抽象结构使用,而不暴露其内部表示。每个节点的任何操作,可以通过抽象基类中定义的相同接口来进行。
何时使用组合模式
- 想把对象抽象成树形结构,具有“部分-整体”的层次关系。
- 想让客户端统一处理组合中的对象。
在ios中使用组合模式
在Cocoa Touch框架中,UIView对象被组合成一个树形结构,UIView对象可以包含其他的UIView对象。这种组合方式便于统一用于事件处理和动作消息,例如处理渲染事件时,事件会在父视图中被处理,然后在传递给子视图,因为他们都是相同的类型,事件可以传递到树形结构的每一视图。
组合模式优缺点
优点
- 客户端可以统一的使用组合对象或单个对象,而不组合结构不暴露其内部表示。
- 可以很容易在组合体内加入具有相同抽象类型的对象. 客户端不必因为加入了新的对象而更改代码。
组合模式与装饰模式(Decorator)
Composite模式和Decorator模式虽然逻辑完全不同,但是从类图中可以看到它们有着相似的结构,Composite模式重在构造类,而Decorator模式重在不生成子类即可给对象添加职责。所以两种模式侧重点不一样,Decortor模式重在修饰,而Composite模式重在表示。
转载:http://www.cnblogs.com/markhy/archive/2013/06/12/3132355.html
- Objective-C 设计模式-组合模式 (Composite)
- 设计模式 - 组合 Composite
- Composite(组合)设计模式
- 设计模式-组合模式(Composite pattern)
- 设计模式----Composite(组合)模式
- 设计模式--组合模式(composite)
- [设计模式]Composite组合模式
- 设计模式:组合模式-composite
- 设计模式 组合模式 Composite
- 乐在其中设计模式(C#) - 组合模式(Composite Pattern)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- 设计模式之Composite(组合)
- Qt导出Excel的简单实现
- 求结构体内成员的偏移和size的宏
- cocos2d-x CCTableView动态插入删除元素bug修正及动画表现
- epoll使用详解(精髓)
- Proxy、Bean工厂和AOP框架
- Objective-C 设计模式-组合模式 (Composite)
- onTouchEvent方法的使用
- NLPIR中文分词系统之Java接口的使用
- jquery dialog打开时,焦点自动在第一个text框上
- OTSU算法概述 含代码
- Definition of 'Main Street'
- 内容提供者学习
- 浅谈五大Python Web开发框架
- PowerDesigner设计数据库后将name自动添加到commit中