Iterator 模式应该是最为熟悉的模式了,最简单的证明就是我在实现 Composite 模式、Flyweight 模式、 Observer 模式中就直接用到了 STL 提供的 Iterator 来遍历 Vector 或者 List数据结构。
Iterator 模式也正是用来解决对一个聚合对象的遍历问题, 将对聚合的遍历封装到一个类中进行,这样就避免了暴露这个聚合对象的内部表示的可能。
结构图

Iterator 模式中定义的对外接口可以视客户成员的便捷定义,但是基本的接口在图中的Iterator 中已经给出了(参考 STL 的 Iterator 就知道了)
网友评论