迭代者模式(Iterator)



GOF意图:提供一种方法顺序访问一个聚合对象中各个元素,,而又不需暴露该对象的内部表示(遍历集合中的每个元素)

角色:

Iterator(迭代器):

ConcreteIterator (具体迭代器):持有集合的引用,,知道第一个,并且记着集合当前遍历的位置,并且知道如何找到下一个,并且知道什么时候结束。

Aggregate (集合):

ConcreteAggregate (具体集合):具体集合可以创建并返回一个迭代器。

实现要点:

迭代器持有集合引用,并知道遍历的第一个,当前位置,下一个,结束。集合创建并返回迭代器。

猜你喜欢

转载自jishudaren.iteye.com/blog/2295496
今日推荐