您的位置:首页 > 编程语言 > Go语言

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

2012-06-22 16:48 239 查看
当我们想要循环访问另外一个实体的对象集合时,通过Iterator模式,

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

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

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

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



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

SRP:单一职责;

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

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

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

程序实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息