定义:
提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。
角色:
迭代抽象类:用于定义得到开始对象,得到下一个对象、判断是否到结尾、当前对象等抽象方法,统一接口。
具体迭代器类:继承迭代抽象类,实现开始、下一个、是否结尾、当前对象等方法。
聚集抽象类:有一个创建迭代器的接口;
具体聚集类:继承自聚集抽象类,实现创建迭代器的接口。
UML图:
总结:
适用场景:当需要访问一个聚集对象,而且不管这些对象是什么,都需要遍历的时候;
需要对聚集有多种方式遍历时,可以考虑使用迭代器模式。