大话设计模式读书笔记-20迭代器模式
bigtalk.jpg
第20章 想走?可以!先买票——迭代器模式
概念
顺序访问聚合对象中的各个元素,又不暴露对象内部表示。因为非常常用,已经并入很多高级语言中,目前不常出现了。
注意:迭代方式不止从前到后一种。
实现
元素:
- Aggregate : 笼统聚合类, 包含创立迭代器的接口
- ConcreteAggregate : 具体聚合类, 包括具体的元素
- Iterator : 笼统迭代器类,包括 “next”, “current”, “first”, “isdone” 之类的笼统方法。
- ConcreteIterator: 具体迭代器类,按照特定方式进行迭代,它里面会有一个指向 ConcreteAggregate对象的指针,便于迭代。
- Client: 创立聚合类、用聚合类创立返回迭代器、用迭代器依次访问聚合类对象。
实现类图
img
用户端使用
img
img
作用
迭代器作用是分离了聚合对象的遍历行为,笼统出一个迭代器来负责,又不暴露内部结构让代码透明访问集合内部的数据。
否则,(从前到后、从后到前、从多到少等次序访问的时候,就要借助对象的各个属性来达到遍历的目的,仅仅是遍历这个简单的笼统行为”next, first, current”, 却加入那么多对象内部的属性来使得遍历能够进行,这会让代码变得很复杂)
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 大话设计模式读书笔记-20迭代器模式
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 大话设计模式读书笔记-20迭代器模式