迭代器模式

Catalogue   

定义

Iterator Pattern:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。

类图

角色

  • Iterator(抽象迭代器):接口声明了遍历集合所需的操作: 获取下一个元素、 获取当前位置和重新开始迭代等。
  • ConcreteIterator(具体迭代器):实现遍历集合的一种特定算法。 迭代器对象必须跟踪自身遍历的进度。 这使得多个迭代器可以相互独立地遍历同一集合。
  • IterableCollections:接口声明一个或多个方法来获取与集合兼容的迭代器。 请注意, 返回方法的类型必须被声明为迭代器接口, 因此具体集合可以返回
    各种不同种类的迭代器。
  • ConcreteCollections(具体集合):实现了创建迭代器(Iterator)对象的接口,返回一个合适的具体迭代器实例。

优缺点

  • 单一职责原则
  • 开闭原则

使用场景

  • Java集合类
  • 数据库操作Cursor

参考