一、概述
迭代器模式提供一种方法顺序访问一个集合Aggregate(容器)对象中的各个元素,而又不暴露该对象的内部表示(细节)。迭代器是为容器服务的,而能容纳对象的所有类型都可以称之为容器。
二、类图
1、Iterator抽象迭代器,定义访问和遍历元素的接口,而且基本上有固定的几个方法:
(1)first获取第一个元素
(2)next访问下一个元素
(3)isDone是否已经访问到底部
(4)CurrentItem返回当前元素
2、ConcreteIterator具体迭代器
具体迭代器实现迭代器接口,完成容器元素的遍历
3、Aggregrate抽象容器
提供创建迭代器角色的接口
4、ConcreteAggregrate具体容器
三、迭代器模式的应用
现在基本上所有的高级语言都实现了迭代器模式,所以迭代器模式往往不用在上层去封装,使用的越来越少。