电话:0731-83595998
导航

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

来源: 2017-12-22 09:42

 百度广告

迭代子(Iterator)模式

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



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


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

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

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

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


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

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

3)Fail Fast


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


编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端