设计模式----Iterator(迭代器)模式
GoF:提供一种方法顺序访问一个局和对象中各个元素,而又不需要暴露该对象的内部表示。
我们在学习数据结构的时候,在实现链表(list)时都会提供各种遍历链表的方法。对于一个聚合对象,比如说Java中ArrayList也应该提供一种方法来让别人可以访问他的元素,而又不暴露他的内部结构。此外,针对不同的需要,可能要以不同的方式遍历这个表。
从GOF的定义可以看出,迭代器是为容器而产生的。很显然,对容器(或)集合对象的访问设计到很多的遍历算法。在Java中Iterator模式已经被融合到Collection中,随着JDK的不断升级,Iterator模式在Java集合中的能力越来越强。在绝大多数情况下,我们不需要自己制造一个Iterator,只要将将对象装入Collection中,直接用Iterator进行遍历就可以了。
这种应用太多了,在本章中就不再举例子了,下面给出结构图(出自GOF《设计模式》)
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=987332