GoF设计模式学习笔记 第二回 Iterator
2012-06-22 16:48
239 查看
当我们想要循环访问另外一个实体的对象集合时,通过Iterator模式,
我们可以将循环访问的处理交给外部类,减少访问类与被访问类之间的关联。
如下图所示,对象A要访问对象B时,不用管对象B的构造如何,只需要通过方法hasNext()来判断
对象是否还存在,存在的话再通过next()方法将对象返回即可。
当被访问的对象B发生变化时,无需大量更改,只需更欢被访问对象即可。
Iterator模式的主要是体现了OOP的两个宗旨,
SRP:单一职责;
理由:不应该将B对象的访问判断处理放在B的实体类中。
OCP:扩展开放,更改封闭;
理由:当A对象需要访问的对象变化时,无需更改A以外的类。
程序实例
我们可以将循环访问的处理交给外部类,减少访问类与被访问类之间的关联。
如下图所示,对象A要访问对象B时,不用管对象B的构造如何,只需要通过方法hasNext()来判断
对象是否还存在,存在的话再通过next()方法将对象返回即可。
当被访问的对象B发生变化时,无需大量更改,只需更欢被访问对象即可。
Iterator模式的主要是体现了OOP的两个宗旨,
SRP:单一职责;
理由:不应该将B对象的访问判断处理放在B的实体类中。
OCP:扩展开放,更改封闭;
理由:当A对象需要访问的对象变化时,无需更改A以外的类。
程序实例
相关文章推荐
- 步步为营 .NET 设计模式学习笔记 十一、Iterator(迭代器模式)
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- 设计模式学习笔记十七——Iterator模式
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- GOF设计模式学习笔记 --辨析各种模式的要点和相似模式之间的区别
- GOF-23种设计模式——工厂模式(学习笔记)
- 设计模式学习笔记--迭代(Iterator)模式
- GOF设计模式学习笔记 --辨析各种模式的要点和相似模式之间的区别
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- 设计模式C++学习笔记之三(Iterator迭代器模式)
- 笔记:Gof设计模式--Iterator
- 设计模式——容器(iterator) 学习笔记
- GOF-23种设计模式——装饰模式(学习笔记)
- GoF设计模式学习笔记 前言
- 学习笔记-设计模式GRASP和GoF是怎样解决不同情况的耦合问题
- GoF设计模式学习笔记 第一回 Mediator
- 设计模式学习笔记——迭代器(Iterator)模式
- GOF-23种设计模式——单例模式(学习笔记)
- 设计模式C++学习笔记之十四(Iterator迭代器模式)