当前位置:首页 > 全部子站 > IT > 思科认证

《Java与模式》学习笔记:设计模式——迭代子(Iterator)模式

来源:长理培训发布时间:2017-12-22 09:42:02

 百度广告

迭代子(Iterator)模式

迭代子模式又叫游标模式,是对象的行为模式。



   迭代子相当于在客户端和聚集之间加了一层,这样一来,迭代子就可以缓冲客户端或聚集的变化。使得聚集的变化对客户端透明(由于客户端是对迭代子编程的,只要迭代子的接口不变,聚集怎么变都不会影响到客户端),同样的客户端的需求变化对聚集也是透明的(客户端需求变了,只需要修改迭代子的接口和实现,不需要修改聚集的结构)。这样就将可变的部分封装到了迭代子中,是符合"开-闭"原则的。


1)定义:
外禀子:聚集本身提供访问其内部元素的方法,可以通过外部的迭代子来遍历聚集,这时迭代子是个外部类,只维持对聚集的一个引用。

2)安全性区别:
外禀子:不安全,因为聚集提供访问其内部元素的方法,在迭代过程中,聚集的元素会被客户端绕过迭代子修改,所以可能会导致迭带过程崩溃。

3)何时使用外禀子:当聚集会被几个不同的方法和对象同时共享和控制,需要这个聚集的多个迭代子分别维护各自的游标时,使用外禀子

4)何时使用内禀子:当对安全方面的要求比较高,而且又不需要共享时。


1)主动迭代子和被动迭代子:
被动迭代子:迭代子自行推进迭代过程

2)静态迭代子和动态迭代子(都是对外禀子来说的)
动态迭代子:迭代子内部只维持一份聚集的引用,可能出现迭代崩溃

3)Fail Fast


优点:
   对于外禀子而言,一个聚集可以提供多个迭代子,而且这些迭代子的迭代状态都是相互独立的,这样一个聚集可以在多个方法中被同时遍历。
   迭代子给客户端一个聚集被顺序化的错觉


责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部