软设之迭代器模式

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

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

组成:

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

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

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

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

相关推荐
寒秋花开曾相惜1 小时前
(学习笔记)3.8 指针运算(3.8.3 嵌套的数组& 3.8.4 定长数组)
java·开发语言·笔记·学习·算法
_李小白2 小时前
【AI大模型学习笔记之平台篇】第五篇:Trae常用模型介绍与性能对比
人工智能·笔记·学习
承渊政道2 小时前
【优选算法】(实战体会位运算的逻辑思维)
数据结构·c++·笔记·学习·算法·leetcode·visual studio
承渊政道3 小时前
【优选算法】(实战推演模拟算法的蕴含深意)
数据结构·c++·笔记·学习·算法·leetcode·排序算法
左左右右左右摇晃4 小时前
系统性能指标与损耗分析
笔记
悠哉悠哉愿意4 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
iThinkAi智能体5 小时前
1个运营带4个实习生,周产350篇笔记:小红书图文矩阵真的没那么玄乎
人工智能·经验分享·笔记
Yu_Lijing6 小时前
基于C++的《Head First设计模式》笔记——备忘录模式
c++·笔记·设计模式·备忘录模式
再玩一会儿看代码6 小时前
Java中 next() 和 nextLine() 有什么区别?一篇文章彻底搞懂
java·开发语言·经验分享·笔记·学习
Heartache boy6 小时前
野火STM32_HAL库版课程笔记-TIM通道输出应用之PWM实现呼吸灯
笔记·stm32·单片机·嵌入式硬件