首页 > 其他 > 详细

17.迭代器模式

时间:2019-08-16 14:46:59      阅读:118      评论:0      收藏:0      [点我收藏+]
  • 一、角色
    • 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合对象以及创建迭代器对象的接口
    • 具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一个具体迭代器的实例
    • 抽象迭代器(Iterator)角色:定义访问和遍历聚合元素的接口,通常包含 hasNext()、first()、next() 等方法
    • 具体迭代器(Concretelterator)角色:实现抽象迭代器接口中所定义的方法,完成对聚合对象的遍历,记录遍历的当前位置
  • 二、适用场景
    • 访问一个聚合对象的内容而无须暴露它的内部表示
  • 三、实例
    • 图1是名字聚合对象的例子,其中Container是抽象聚合类,NameRepository是具体的聚合类,Iterator是抽象迭代器类,NameIterator是具体迭代器类,NameRepository中提供getIterator方法获取迭代器,然后通过获取到的迭代器对NameRepository聚合类中的名称集合进行方和遍历
    • 代码地址:https://github.com/lanhei/DesignPattern/tree/master/src/com/lanhei/patterns/iterator
      技术分享图片
      图-1

17.迭代器模式

原文:https://www.cnblogs.com/zhongj/p/11363650.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!