迭代器模式

Posted by 程序亦非猿 on 2016-07-26

设计模式专题系列: 设计模式

迭代器模式

迭代器模式(Iterator): 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示

迭代器模式服务『集合』,为了更好地管理集合。

所谓集合(Collection)就是是,一群对象,可以放在数组、堆栈、列表、散列表等。
集合有时候也被称为『聚合』(aggregate)。

迭代器的意义与优势

  1. 我们不需要知道一个集合到底是数组还是列表还是什么其他的结构。
  2. 把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。

要点

  1. 迭代器允许访问聚合的元素,而不需要暴露它的内部结构。
  2. 迭代器将遍历聚合的工作封装进一个对象中。
  3. 当使用迭代器的时候,我们依赖聚合提供遍历。
  4. 迭代器提供了一个通用的接口,让我们遍历聚合的项,当我们编码使用聚合的项时,就可以使用多台机制。

小结

Java中已经存在有 Iterator 了,大部分情况下,我们不需要自己在写。
如果要加新的功能,当然还是可以扩展的,比如 ListIterator新增了previous等方法。