GoF设计模式学习笔记 第二回 Iterator

来源:互联网 发布:编程培训多少钱 编辑:程序博客网 时间:2024/05/29 04:52

当我们想要循环访问另外一个实体的对象集合时,通过Iterator模式,

我们可以将循环访问的处理交给外部类,减少访问类与被访问类之间的关联。

如下图所示,对象A要访问对象B时,不用管对象B的构造如何,只需要通过方法hasNext()来判断

对象是否还存在,存在的话再通过next()方法将对象返回即可。

当被访问的对象B发生变化时,无需大量更改,只需更欢被访问对象即可。

Iterator模式的主要是体现了OOP的两个宗旨,

SRP:单一职责;

理由:不应该将B对象的访问判断处理放在B的实体类中。

OCP:扩展开放,更改封闭;

理由:当A对象需要访问的对象变化时,无需更改A以外的类。

程序实例

原创粉丝点击