Design Pattern - Iterator Pattern
概述
Iterator Pattern,即迭代器模式。让你能在不暴露集合底层的表现形式(列表、栈和树等)的情况下遍历集合中的所有元素。
又称游标模式(cursor pattern)提供了一种顺序访问集合或者容器对象元素的方法,又无须暴露集合的内部表示。
本质是抽离出集合对象的迭代行为到一个迭代器中,提供一个统一访问的接口。
结构
样例
迭代器接口:
具体的迭代器实现:
模拟的集合接口:
模拟的具体的集合:
客户端:
适用场景
不希望客户端直接与复杂数据结构内部的元素交互,而是通过迭代器提供的访问接口进行访问。
抽离集合的迭代行为到一个迭代器中,提供了一个或者多个访问的接口,而使用者不需要关心内部的迭代算法如何实现。
对未知数据结构遍历。