迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 当需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑用迭代器模式;当需要对聚集有多种方式遍历时,可以考虑用迭代器模式。 为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统...
分类:
其他好文 时间:
2014-12-30 18:40:17
阅读次数:
175
迭代器模式,使用很多,但是很少实现。常用的集合都支持迭代器。集合中的CreateIterator()可用于创建自己的迭代器,在里面通过调用迭代器的构造函数Iterator(Aggregate)来绑定自己到迭代器中,如果不使用此方法,也可以在场景中直接new Iterator(Aggregate)来得...
分类:
其他好文 时间:
2014-12-24 09:56:02
阅读次数:
108
一、UML图
二、概念
迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
三、说明
什么时候用?
(1)当你需要访问一个聚集对象,而且不管这些对象时什么都需要遍历的时候,你就应该考虑用迭代器模式。
(2)你需要对聚集有多种遍历时,可以考虑用迭代器模式。
(3)为遍历不同的聚集结构提供如开始、下一个、是否...
分类:
编程语言 时间:
2014-12-23 09:02:24
阅读次数:
265
行为型模式第二部分:解释器模式、中介者模式、访问者模式、策略模式、备忘录模式、迭代器模式。
解释器模式
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
使用时期
如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通...
分类:
其他好文 时间:
2014-12-22 13:01:27
阅读次数:
141
迭代器模式定义迭代器提供了一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部结构。结构迭代器由四部分组成:Iterator:定义访问和遍历元素的接口。ConcreteIterator:实现迭代器接口;遍历时跟踪当前位置。Aggregate:定义创建相应迭代器对象的接口。ConCreteA...
分类:
其他好文 时间:
2014-12-18 00:14:37
阅读次数:
146
基本上来说,Iterator模式并没有什么可多说得,在STL中见得实在太多了,一般用于遍历数据结构,其实现也相对简单。
代码如下:
//////////////////////////////////////////////////////////////////////////
// author: Jeson Yang
//date:2014.12.10
//file:main.c...
分类:
编程语言 时间:
2014-12-11 00:20:56
阅读次数:
217
迭代这个名词对于熟悉 Java 的人来说绝对不陌生。我们常常使用JDK 提供的迭代接口进行java collection 的遍历:1 Iterator it = list.iterator();2 while(it.hasNext()){3 //using “it.next();...
分类:
其他好文 时间:
2014-12-05 12:36:57
阅读次数:
151
一、概述
提供一种方法来访问聚合对象(容器container),而不用暴露这个对象的内部细节。
二、适用场景
1>遍历访问聚合对象中的元素,而无须暴露它的内容表示,将聚合对象的访问和内部数据的存储分离。使得访问聚合对象时无须了解其内部的实现细节。
2>需要为一个聚合对象提供多种遍历实现。
三、UML类图
四、参与者
1>Ite...
分类:
编程语言 时间:
2014-12-01 00:52:12
阅读次数:
197
1. 类图 2. 总结 迭代器模式用于客户端程序用统一的方式遍历各种数据集合,而不需要知道数据集合的实现,同时可以自由扩充数据集合。每一种数据集合都需要单独实现一个针对与自身类型的迭代器。
分类:
其他好文 时间:
2014-11-26 22:30:42
阅读次数:
217
迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞..
分类:
编程语言 时间:
2014-11-25 19:00:02
阅读次数:
180