Iterator模式角色
我们在写Java代码的过程中,会经常用到集合类。在操作集合的过程中,会经常用到Iterator。下面介绍一下Iterator模式中的角色:
Iterator(迭代器)
该角色定义了按顺序逐个遍历元素的API,它定义了hasNext和next两个方法。(示例程序中的Iterator)
ConcreteIterator(具体的迭代器)
该角色负责实现Iterator所定义的API,包含了遍历集合所必须的信息。(示例程序中的BookShelfIterator)
Aggregate(集合)
该角色定义了创建Iterator角色的API。(示例程序中的Aggregate)
ConcreteAggregate(具体的集合)
该角色负责实现Aggregate角色所定义的API,它会创建出具体的Iterator角色。
代码示例
Aggregate:表示集合的接口
Iterator:遍历集合的接口
Book:表示书的类
BookShelf:表示书架的类
BookShelfIterator:遍历书架的类
Main:测试入口
类图接口
参考:《图解设计模式》