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

目录

0、定义

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

2、迭代器模式的UML类图

3、示例代码


0、定义

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

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

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

2、迭代器模式的UML类图

3、示例代码

待设计......

相关推荐
不才小强1 小时前
行为型设计模式
设计模式
ximu_polaris3 小时前
设计模式(C++)-结构型模式-享元模式
c++·设计模式·享元模式
geovindu3 小时前
go: Facade Pattern
设计模式·golang·外观模式
旷世奇才李先生4 小时前
React 18\+TypeScript实战: hooks封装与组件设计模式
react.js·设计模式·typescript
白夜11174 小时前
C++设计模式(高内聚,低耦合)
c++·设计模式
ximu_polaris4 小时前
设计模式(C++)-结构型模式-桥接模式
c++·设计模式·桥接模式
楼田莉子4 小时前
仿muduo库的高并发服务器——正则表达式与any类介绍及其简单模拟实现
linux·服务器·c++·学习·设计模式
workflower5 小时前
机器人应用-室外区域巡逻
人工智能·设计模式·机器人·软件工程·软件构建
geovindu7 小时前
go: Flyweight Pattern
开发语言·设计模式·golang·享元模式
志摩凛20 小时前
被产品经理逼疯后,我们重构了移动端上传组件——2026最新成果复盘
设计模式·架构