设计模式初探-迭代器模式
来源:互联网 发布:three.js 案例 编辑:程序博客网 时间:2024/06/06 20:17
迭代器模式(ITERATOR),又称游标(Cursor),提供了一种方法,用于顺序访问一个聚合对象中的各个元素,而不需暴露该对象的内部表示,属于对象行为型模式。迭代器模式通过将对聚合对象(通常为列表)的访问和遍历从聚合对象中分离出来并放入一个迭代器对象中,迭代器对象知道如何遍历列表,这样不仅可以简化聚合对象的实现(将遍历操作交给迭代器负责,自己只负责保存),还可以以不同的方式遍历列表。
一、使用场景
1、访问一个聚合对象的内容而无需暴露它的内部表示。
2、支持对聚合对象的多种遍历,比如正向遍历,逆向遍历,JDK的迭代器只实现正向遍历。
3、为遍历不同的聚合结构提供一个统一的接口。对不同的聚合结构只需切换要遍历的对象而不需改变遍历过程的代码。
二、UML图
三、Java实现
运行结果:四、模式优缺点
优点:
1、支持以不同的方式遍历一个聚合。想改变遍历方式只需用一个不同的迭代器实例代替原先的实例即可。
2、迭代器简化聚合的接口。有了迭代器的遍历接口,聚合本身就不需要类似的遍历接口了。
3、在同一个聚合上可以有多个遍历。每个迭代器保持它自己的遍历状态,互不影响。
缺点:
1、抽象迭代器的设计比较难以把握,如果前期设计不好,后期改动就会非常大。比如JDK的迭代器只支持正向遍历,如果想实现其他遍历方式只能通过添加辅助类实现。
阅读全文
0 0
- 设计模式初探-迭代器模式
- 设计模式初探-迭代器模式
- 设计模式初探-Builder模式
- 设计模式初探-Prototype模式
- 设计模式初探-适配器模式
- 设计模式初探-组合模式
- 设计模式初探-装饰模式
- 设计模式初探-外观模式
- 设计模式初探-代理模式
- 设计模式初探-命令模式
- 设计模式初探-备忘录模式
- 设计模式初探-观察者模式
- 设计模式初探-状态模式
- 设计模式初探-策略模式
- 设计模式初探-访问者模式
- 设计模式初探-Builder模式
- 设计模式初探-Prototype模式
- 设计模式初探-Prototype模式
- 矩阵快速幂模板
- 关于Mac电脑开机后自动进入“macOS实用工具界面”
- 诺诺的队列
- Spring Boot 中使用 Jdbc Template 访问数据库
- 利用Vuforia开发一个AR卡牌对战(一):多图识别+EventHandler框架
- 设计模式初探-迭代器模式
- X Chen笔记---Centos快速搭建KVM
- 配置文件
- 数据结构-树之易忘知识点
- HTML笔记-2
- Java的纤程库
- 三分钟开启第一个 Kotlin 工程
- 浅谈家用路由器安全变迁
- C++用双链表检测回文数(palindrome number)