腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
明丰随笔
专栏成员
举报
61
文章
51868
阅读量
14
订阅数
订阅专栏
申请加入专栏
全部文章(61)
编程算法(24)
.net(12)
文件存储(6)
面向对象编程(6)
windows(4)
数据库(3)
sql(3)
打包(3)
ide(3)
aop(3)
tcp/ip(3)
iis(3)
java(2)
javascript(2)
c#(2)
asp.net(2)
网站(2)
http(2)
网络安全(2)
https(2)
private(2)
public(2)
system(2)
c++(1)
python(1)
erlang(1)
node.js(1)
xml(1)
ajax(1)
mvc(1)
web.py(1)
git(1)
api(1)
linux(1)
apache(1)
神经网络(1)
日志服务(1)
命令行工具(1)
消息队列 CMQ 版(1)
企业邮箱(1)
腾讯云测试服务(1)
存储(1)
缓存(1)
hive(1)
unity(1)
rpc(1)
rabbitmq(1)
powershell(1)
大数据(1)
数据分析(1)
kafka(1)
任务调度(1)
action(1)
attributes(1)
dll(1)
live(1)
memorystream(1)
path(1)
service(1)
static(1)
wcf(1)
反射(1)
搜索文章
搜索
搜索
关闭
迭代器模式
python
c#
.net
javascript
在面向对象编程里,迭代器模式是一种最简单也最常见的设计模式。它可以让用户透过特定的接口访问集合中的每一个元素而不用了解底层的实现。一般实现一个集合的方法有:数组,链表,哈希表等等,每种集合因为底层实现不同,遍历集合的方法也不同。对于数组或者列表,用户需要在对集合了解很清楚的前提下,可以自行遍历对象,但是对于hash表来说,用户遍历起来就比较麻烦,而且暴露了集合类的内部表示给用户,数据也会不安全。而引入了迭代器方法后,用户用起来就简单的多了,并且更加安全。迭代器模式在客户访问类与集合类之间插入一个迭代器,这分离了聚合对象与其遍历行为,对客户也隐藏了其内部细节,且满足“单一职责原则”和“开闭原则”。所以,如果我们对各种集合的都实现了迭代器接口,就可以使存储数据和遍历数据的职责分离,并且让外部代码可以透明并统一地访问集合内部的数据,简化了遍历方式,还提供了良好的封装性,用户只需要得到迭代器就可以遍历,而对于遍历算法则不用关心。
小蜜蜂
2019-07-14
642
0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
立即查看
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档