设计模式之Iterator模式

Iterator模式旨在提供一种顺序访问聚合对象元素的方式,无需暴露其底层表示。文章通过类图解释了模式的两个关键点:一是用容器替代数组,提供更丰富的功能;二是Aggregate扮演工具箱角色,容纳多种工具(如Iterator)。作者通过创建Aggregate接口、定义Iterator接口及其实现,来阐述模式的应用流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Iterator模式

笔者近期正在学习一些常用的设计模式,由于处于刚刚起步的阶段,所以就《图解设计模式》一书进行学习。

因为该博客属于个人总结类博客,所以零散的知识点便不在赘述,只谈谈我对于该模式的一些个人理解

类图

从该图中,我理解的该设计模式的精髓有二

  • 其一:制作了一个容器用来取代单纯的数组,而这个容器中功能完备,如果举个例子理解其中奥秘,就像是你想拿个锤子锤自家墙上的钉子,但是一把锤子是公用的,一把锤子是自己家的,那么如果自家有一把锤子行事都会变得极其方便。

  • 其二:该设计模式本可以取消Aggregate这个集合的模块,本人在初步阅读时,也不太能理解为什么单独要搞一个Aggregate,可是当我整体看完,自己实现了这个设计模式后,我发现它就像是一个工具箱的作用,意思就是说迭代器只是其中一个工具,而它可以有很多工具,再拓展一下就是,你家有一个工具箱,工具箱里有一个锤子,也可以有其他的东西。

好了,那么接下来便是总结时间,整个一设计模式的流程便是,你需要买个工具箱(也就是先创建一个Aggregate接口),然后决定要在工具箱里放什么工具(该案例中放入的是Iterator接口),之后便是定义这项工具(也就是定义Iterator接口的功能),然后学会如何使用这个工具(也就是实现Iterator接口),然后便是你先把家搭起来(也就是ConcreteAggregate),然后把工具箱的东西买回来(也就是实现Aggregate接口),然后要啥取啥就可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值