设计模式:11、迭代器模式(游标)

目录

0、定义

1、迭代器模式的四种角色

2、迭代器模式的UML类图

3、示例代码


0、定义

提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

1、迭代器模式的四种角色

  • 集合(Aggregate):一个接口,规定了具体集合需实现的操作。
  • 具体集合(ConcreteAggregate):具体集合 是实现集合 接口的类的实例,具体集合 按着一定结构存储对象。具体集合 应当有一个方法,该方法返回一个针对该集合的具体迭代器
  • 迭代器(Iterator):一个接口,规定了遍历具体集合的方法,比如next()方法。
  • 具体迭代器(ConcreteIterator):实现迭代器 接口的类的实例。具体迭代器 在现实迭代器 接口所规定的遍历集合的方法时,比如next()方法,要保证next()方法的首次调用将按着集合 的数据结构找到该集合 中的一个对象,而且每当找到集合中的一个对象,立刻根据该集合 的存储结构得到待遍历的后继对象的引用,并保证依次调用next()方法可以遍历集合

2、迭代器模式的UML类图

3、示例代码

待设计......

相关推荐
程序员Terry13 分钟前
同事被深拷贝坑了3小时,我教他原型模式的正确打开方式
java·设计模式
刀法如飞18 小时前
AI时代,程序员都应该是算法思想工程师
人工智能·设计模式·程序员
在西安放羊的牛油果1 天前
我把 2000 行下单代码,重构成了一套交易前端架构
前端·设计模式·架构
寅时码2 天前
React 正在演变为一场不可逆的赛博瘟疫:AI 投毒、编译器迷信与装死的官方
前端·react.js·设计模式
willow5 天前
Axios由浅入深
设计模式·axios
七月丶7 天前
别再手动凑 PR 了:这个 AI Skill 会按仓库习惯自动建分支、拆提交、提 PR
人工智能·设计模式·程序员
刀法如飞7 天前
从程序员到架构师:6大编程范式全解析与实践对比
设计模式·系统架构·编程范式
九狼7 天前
Flutter + Riverpod +MVI 架构下的现代状态管理
设计模式
静水流深_沧海一粟8 天前
04 | 别再写几十个参数的构造函数了——建造者模式
设计模式