迭代子模式
来源:互联网 发布:顾比均线的通达信源码 编辑:程序博客网 时间:2024/05/16 13:00
前言:
主要应用在对聚集的遍历。
为什么需要使用迭代子模式:
将集合的定义和对集合的遍历操作拆分开来,便于集合操作的扩展。
迭代子对象是对遍历的抽象化。遍历算法被封装在迭代子对象中,因此遍历算法可以独立与聚集对象而变化。
类图:
白盒聚集与外禀迭代子
黑盒聚集与内禀迭代子
1.Aggregate 抽象聚集角色类:需要包含一个生成迭代子对象的方法。
2.ConcreteAggregate 具体聚集角色类:除开实现抽象类外,在白盒中,还包含获取具体元素,及集合大小的方法。在黑盒中则不必提供。
3.Iterator 抽象迭代子角色类:包含一些移动游标及获取当前元素的方法。
4.ConcreteIterator 具体迭代子角色类:在黑盒实现中,这个类是包含在具体聚集角色类中的。
实现双重接口的方法一般是使用内部类。
其他概念:
静态迭代
迭代子对象保存了聚集对象的一份快照。
动态迭代
迭代子对象只保存聚集对象的引用,因此需要考虑聚集对象元素的变化。
快速失败
如果聚集对象的元素在一个动态的迭代过程中发生变化时,如果此时迭代过程无法进行下去,则应立即抛出一个异常。
阅读全文
1 0
- 设计模式--迭代子模式
- 设计模式 行为模式之迭代子模式
- 迭代子模式
- 迭代子模式
- 迭代子模式
- 迭代子模式
- 迭代子模式
- 迭代子模式
- 迭代子模式
- 迭代子模式
- java设计模式,迭代子模式
- 设计模式之迭代子模式
- 设计模式-15-迭代子模式
- 设计模式16-迭代子模式
- 23种设计模式4--行为型模式(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
- 23种设计模式4--行为型模式(策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式)
- Java与模式 迭代子模式 Iterator Pattern
- 【设计模式·笔记】迭代子模式
- jQuery的基本用法
- 修改radio和checkbox的默认样式
- ubuntu服务器升级内核
- Ubuntu16.04系统下安装OpenCV3.2.0
- 常用SQL语句
- 迭代子模式
- hexo的next百度统计
- 网络请求UI自动切换框架
- UVa1587-Box
- 题目3:统计0~n中有多少个9
- hexo的next主题打赏
- Matlab在最优化计算中的应用
- Qt openGL 使用QImage 生成二维纹理
- hexo的next主题常用设置