设计模式——迭代器模式

迭代器模式详解

—— 像书签一样遍历数据的“智能指针”


一、生活化理解

想象你在读一本纸质书:

  • 直接翻页:自己记住读到哪一页(容易混乱,书折角会损坏书)
  • 使用书签:书签自动帮你记录位置,只需说“下一页”就能继续读

迭代器模式就是这个“智能书签”——它帮你统一管理遍历过程,无需关心数据底层如何存储(数组、链表、树),你只要说“下一个”就能按顺序拿到数据。


二、模式结构解析

以遍历书架上的书为例:

角色 对应示例 职责说明
迭代器接口 Iterator 定义 next()hasNext() 方法
具体迭代器 BookShelfIterator 实现针对书架的具体遍历逻辑
聚合对象接口 Aggregate 定义创建迭代器的方法
具体聚合对象 BookShelf 实现创建迭代器的具体逻辑