迭代器模式,即遍历。
1、使用类:
Iterator接口:定义迭代器包含的方法,如hasNext(),Next()等。
具体实现Iterator接口的类:迭代特定的类型,对方法进行实现。
Aggregate集合接口:定义迭代器,用于创建Iterator角色。
具体实现集合接口的类:实现Iterator,将自己作为参数返回到具体类型的迭代器中。
2、使用原因:
为什么用不直接用数组for循环遍历?因为引入Iterator可以实现遍历与实现的分离,即遍历时不需要实现实体类,使用的只有Iterator接口里的方法。不管实体类如何变化,只要实体类的Iterator方法正常返回Iterator的实例,代码都能正常工作。
3、相关设计模式:
Visitor,Composite,Factory Method。
学习于《图解设计模式》一书。