概述:
Java对迭代子模式的支持来自于Java聚集的需要,一个聚集需要向外界提供遍历聚集元素的方法。提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构
迭代器模式:使用迭代器模式来提供对聚合对象的统一存取,即提供一个外部的迭代器来对聚合对象进行访问和遍历 , 而又不需暴露该对象的内部结构。又叫做游标(Cursor)模式 。
适用性
迭代器模式可用来:
? 访问一个聚合对象的内容而无需暴露它的内部表示。
? 需要为聚合对象提供多种遍历方式。
? 为遍历不同的聚合结构提供一个统一的接口 (即, 支持多态迭代)
抽象迭代器(Iterator): 迭代器定义访问和遍历元素的接口。
具体迭代器(ConcreteIterator): 具体迭代器实现迭代器Iterator接口。对该聚合遍历时跟踪当前位置。
抽象聚合类(Aggregate): 聚合定义创建相应迭代器对象的接口。
具体聚合类(ConcreteAggregate): 体聚合实现创建相应迭代器的接口,该操作返回ConcreteIterator的一个适当的实例。
1)聚合是一个管理和组织数据对象的数据结构。
2)聚合对象主要拥有两个职责:一是存储内部数据;二是遍历内部数据。
3)存储数据是聚合对象最基本的职责。
4)将遍历聚合对象中数据的行为提取出来,封装到一个迭代器中,通过专门的迭代器来遍历聚合对象的内部数据,这就是迭代器模式的本质。迭代器模式是“单一职责原则”的完美体现。
时间: 2024-11-13 04:30:19