工作积累之Iterator模式理解
来源:互联网 发布:java网站留言板源代码 编辑:程序博客网 时间:2024/05/19 21:16
GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。从定义可见,迭代器模式是为容器而生。再看STL:其中的容器提供迭代器,算法使用迭代器。模式UML图:
对容器对象的各个元素的访问必然涉及到遍历算法,如果单单是为了不暴露该对象的内部细节,可以在容器对象中实现遍历算法,提供遍历自身的接口,但是为什么不这么做呢? 在这种情况下,容器承受了过多的功能,它不仅要负责自己“容器”内的元素维护(添加、删除等等),而且还要提供遍历自身的接口,这就违反了“单一职责原则”;
而且由于遍历状态保存的问题,不能对同一个容器对象同时进行多个遍历。
- 工作积累之Iterator模式理解
- 工作积累之Mediator 模式的理解
- 工作积累之二维数组的理解
- 工作积累之理解移动通信
- 深入理解Iterator模式
- 设计模式-Iterator理解
- 设计模式之Iterator
- 设计模式之Iterator
- 行为模式之Iterator
- 设计模式之 iterator
- 设计模式之Iterator
- 设计模式之Iterator
- 设计模式之Iterator
- 设计模式之iterator
- 设计模式之Iterator
- 行为模式之Iterator模式
- Behavioral模式之Iterator模式
- 设计模式之Iterator模式
- 利用 Java dump 进行 JVM 故障诊断
- Delphi :Keydown对应的键盘值
- 《性能测试诊断分析与优化》推荐序(1)
- 从UIImage的矩阵变换看矩阵运算的原理
- HttpClient通过post上传文件和提交参数
- 工作积累之Iterator模式理解
- IE插件BHO开发
- 惭愧,刚刚发现Java中的 "For-each"...
- 关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
- shell 文件测试操作
- 对Hadoop /bin 下的启动文件详细分析
- FusionCharts Line 图形不支持小数点显示问题排查
- 小女也爱葵花宝典---读懂编译原理(1)
- 解决IE5、IE6、IE7与W3C标准的冲突(IE7.js IE8.js)