迭代子模式

Posted wheleetcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迭代子模式相关的知识,希望对你有一定的参考价值。

概述:

         Java对迭代子模式的支持来自于Java聚集的需要,一个聚集需要向外界提供遍历聚集元素的方法。提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构

        迭代器模式:使用迭代器模式来提供对聚合对象的统一存取,即提供一个外部的迭代器来对聚合对象进行访问和遍历 , 而又不需暴露该对象的内部结构。又叫做游标(Cursor)模式 。

      适用性

迭代器模式可用来:

• 访问一个聚合对象的内容而无需暴露它的内部表示。
• 需要为聚合对象提供多种遍历方式。
• 为遍历不同的聚合结构提供一个统一的接口 (即, 支持多态迭代)

抽象迭代器(Iterator): 迭代器定义访问和遍历元素的接口。
具体迭代器(ConcreteIterator):  具体迭代器实现迭代器Iterator接口。对该聚合遍历时跟踪当前位置。
抽象聚合类(Aggregate): 聚合定义创建相应迭代器对象的接口。
具体聚合类(ConcreteAggregate): 体聚合实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例。

 

1)聚合是一个管理和组织数据对象的数据结构。

 

2)聚合对象主要拥有两个职责:一是存储内部数据;二是遍历内部数据

 

3)存储数据是聚合对象最基本的职责。

 

4)遍历聚合对象中数据的行为提取出来封装到一个迭代器中,通过专门的迭代器来遍历聚合对象的内部数据,这就是迭代器模式的本质。迭代器模式是“单一职责原则”的完美体现。

 

            

以上是关于迭代子模式的主要内容,如果未能解决你的问题,请参考以下文章

[设计模式]迭代子模式 Iterator

迭代子模式

17-迭代子(Iterator)模式Ruby实现

IteratorPattern(迭代子模式)

迭代子模式

深入浅出设计模式之模板方法模式迭代器模式组合模式