软设之迭代器模式

设计模式中迭代器模式的意图是:提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该对象的内部表示。

打个比方,图书馆里的书籍就是聚合对象中的元素,读者借书不需要知道书怎么摆放的,只需要找图书管理员借书就可以了。图书管理员就是具体迭代器。

组成:

Iterotor:迭代器,迭代器定义访问和遍历元素的接口

Concretelterator:具体迭代器,实现迭代器的接口,在遍历时跟踪当前聚合对象中的位置。

Aggregate:聚合,定义一个创建迭代器对象的接口

ConcreteAggregate:具体聚合,实现创建迭代器对象,返回一个具体迭代器的实例。

相关推荐
小陈phd15 分钟前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀22 分钟前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
handler0144 分钟前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
其实防守也摸鱼2 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
05候补工程师3 小时前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人
chushiyunen3 小时前
pandas使用笔记、数据清洗、json_normalize
笔记·pandas
HERR_QQ3 小时前
端到端课程自用 4 规划 基于自规划AR的端到端规划 AI 笔记
人工智能·笔记·自动驾驶·transformer
二哈赛车手4 小时前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
qiaozhangchi4 小时前
求解器学习笔记
笔记·python·学习
不会编程的懒洋洋4 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke