定义
Iterator Pattern:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。
类图
角色
- Iterator(抽象迭代器):接口声明了遍历集合所需的操作: 获取下一个元素、 获取当前位置和重新开始迭代等。
- ConcreteIterator(具体迭代器):实现遍历集合的一种特定算法。 迭代器对象必须跟踪自身遍历的进度。 这使得多个迭代器可以相互独立地遍历同一集合。
- IterableCollections:接口声明一个或多个方法来获取与集合兼容的迭代器。 请注意, 返回方法的类型必须被声明为迭代器接口, 因此具体集合可以返回
各种不同种类的迭代器。 - ConcreteCollections(具体集合):实现了创建迭代器(Iterator)对象的接口,返回一个合适的具体迭代器实例。
优缺点
- 单一职责原则
- 开闭原则
使用场景
- Java集合类
- 数据库操作Cursor