设计模式——迭代器模式
迭代器模式详解
—— 像书签一样遍历数据的“智能指针”
一、生活化理解
想象你在读一本纸质书:
- 直接翻页:自己记住读到哪一页(容易混乱,书折角会损坏书)
- 使用书签:书签自动帮你记录位置,只需说“下一页”就能继续读
迭代器模式就是这个“智能书签”——它帮你统一管理遍历过程,无需关心数据底层如何存储(数组、链表、树),你只要说“下一个”就能按顺序拿到数据。
二、模式结构解析
以遍历书架上的书为例:
角色 | 对应示例 | 职责说明 |
---|---|---|
迭代器接口 | Iterator |
定义 next() 和 hasNext() 方法 |
具体迭代器 | BookShelfIterator |
实现针对书架的具体遍历逻辑 |
聚合对象接口 | Aggregate |
定义创建迭代器的方法 |
具体聚合对象 | BookShelf |
实现创建迭代器的具体逻辑 |