目录
迭代器模式
引言
迭代器模式是一种使用频率非常高的设计模式,用于对一个聚合对象进行遍历。很多语言都定义了迭代器接口。通过引入迭代器可以将数据的遍历功能从聚合对象中分离出来,聚合对象只负责存储数据,而遍历则交给迭代器完成,简化了聚合对象的设计,更符合“职责单一原则”的要求。
定义
英文定义:“Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.”。
中文定义:提供一种方法来访问聚合对象,而不用暴漏这个对象的内部表示。
迭代器模式重要等级★★★★★ 迭代器模式难度等级★★☆☆☆
模式结构图
迭代器模式包含以下角色:
1)抽象迭代器:定义访问一个聚合类需要的操作,如Next,Previous等。
2)具体迭代器
3)抽象聚合类:抽象聚合类用于存储对象,且提供一个创建相应迭代器的接口。
4) 具体聚合类
实例
实例说明
某商品管理系统的商品名称存储在一个字符串数组中,现需要自定义一个双向迭代器(MyIterator)实现对商品名称数组的双向遍历。