Design Pattern - Iterator Pattern

概述

Iterator Pattern,即迭代器模式。让你能在不暴露集合底层的表现形式(列表、栈和树等)的情况下遍历集合中的所有元素。

又称游标模式(cursor pattern)提供了一种顺序访问集合或者容器对象元素的方法,又无须暴露集合的内部表示。

本质是抽离出集合对象的迭代行为到一个迭代器中,提供一个统一访问的接口。

Design Pattern - Iterator Pattern

结构

Design Pattern - Iterator Pattern

样例

迭代器接口
Design Pattern - Iterator Pattern

具体的迭代器实现
Design Pattern - Iterator Pattern

模拟的集合接口
Design Pattern - Iterator Pattern

模拟的具体的集合
Design Pattern - Iterator Pattern

客户端

Design Pattern - Iterator Pattern

适用场景

Design Pattern - Iterator Pattern

不希望客户端直接与复杂数据结构内部的元素交互,而是通过迭代器提供的访问接口进行访问。

Design Pattern - Iterator Pattern

抽离集合的迭代行为到一个迭代器中,提供了一个或者多个访问的接口,而使用者不需要关心内部的迭代算法如何实现。

Design Pattern - Iterator Pattern

对未知数据结构遍历。

优缺点

Design Pattern - Iterator Pattern