设计模式(20) - 迭代器模式
来源:互联网 发布:易语言编程系统 编辑:程序博客网 时间:2024/06/14 20:58
问题描述
在集合对象(例如链表)的顺序访问中,集合对象需要提供一种访问下一个节点的方法,这可能会暴露集合对象的内在结构。迭代器模式在隐藏集合对象内部结构的同时,提供遍历集合对象元素的方法。
迭代器模式
如图所示,迭代器模式定义一个抽象的Iterator接口对象来支持集合对象的遍历;Aggreate类定义了一个工厂方法来创建本集合对象特定的Iterator对象。ConcreteIterator类保持了一个ConcreteAggregate的指针;通过该指针实现Iterator定义的遍历接口。ConcreteAggregate类重新实现了工厂方法 CreateIterator()来创建一个专用于ConcreteAggregate类的ConcreteIterator对象。客户调用Aggregate的CreateIterator()方法来创建Iterator并通过其返回的Iterator对象来遍历该集合对象。客户完全不需要了解ConcreteAggregate类的内部数据结构。
讨论
迭代器模式定义了顺序遍历集合对象的标准接口,使Aggregate类在不暴露内部数据结构的情况下支持顺序遍历。不同的Iteractor类可以实现不同的遍历算法,只要Aggregate提供相关的方法即可,Aggregate本身不需要了解遍历算法,从而也简化了Aggregate的设计。
0 0
- 设计模式(20) - 迭代器模式
- 设计模式-迭代器模式
- 设计模式 迭代器模式
- 设计模式-迭代器模式
- 设计模式--迭代器模式
- 【设计模式】迭代器模式
- 设计模式-迭代器模式
- 设计模式- 迭代器模式
- 设计模式 - 迭代器模式
- 设计模式:迭代器模式
- 设计模式 - 迭代器模式
- 设计模式-迭代器模式
- 设计模式--迭代器模式
- 设计模式---迭代器模式
- 设计模式---迭代器模式
- 【设计模式】迭代器模式
- 设计模式 迭代器模式
- 设计模式--迭代器模式
- hdu 1495 非常可乐(广搜)
- 7月份复习总结&8月份复习计划
- 随笔
- 设计模式(23) - 命令模式
- 五布局之表格布局TableLayout
- 设计模式(20) - 迭代器模式
- php传值赋值与引用赋值
- 设计模式(24) - 中介者模式
- Java开发中的23种设计模式详解(转)
- Java并发编程从入门到精通 张振华.Jack --我的书
- Java 解决FileInputStream读取中文时乱码的问题
- C++ primer plus 第五章习题解答
- 设计模式(17) - 观察者模式
- 硬件篇——2_crazyflie2.0原理图之STM32F405