一、概述
迭代器模式提供一種方法順序訪問一個集合Aggregate(容器)對象中的各個元素,而又不暴露該對象的內部表示(細節)。迭代器是爲容器服務的,而能容納對象的所有類型都可以稱之爲容器。
二、類圖
1、Iterator抽象迭代器,定義訪問和遍歷元素的接口,而且基本上有固定的幾個方法:
(1)first獲取第一個元素
(2)next訪問下一個元素
(3)isDone是否已經訪問到底部
(4)CurrentItem返回當前元素
2、ConcreteIterator具體迭代器
具體迭代器實現迭代器接口,完成容器元素的遍歷
3、Aggregrate抽象容器
提供創建迭代器角色的接口
4、ConcreteAggregrate具體容器
三、迭代器模式的應用
現在基本上所有的高級語言都實現了迭代器模式,所以迭代器模式往往不用在上層去封裝,使用的越來越少。