23種設計模式之疊代器模式

迭代器模式的定義

定義: 它提供一種方法訪問一個容器對象中各個元素, 而又不需暴露該對象的內部細節

其類圖如下:

23種設計模式之迭代器模式

其中角色:

  1. Iterator 抽象迭代器: 抽象迭代器負責定義訪問和遍歷元素的接口, 而且基本上是有固定的三個方法: first()獲得第一個元素, next()訪問下一個元素, isDone() 是否已經訪問到末尾
  2. ConcreteIteraor 具體迭代器: 實現抽象 迭代器, 完成容器元素的遍歷
  3. Aggregate 抽象容器: 負責提供創建具體迭代器的接口
  4. ConcreteAggregate 具體容器: 實現抽象容器定義的方法, 創建出容納迭代器的對象

其代碼實現如下:

抽象迭代器:

23種設計模式之迭代器模式

具體迭代器:

23種設計模式之迭代器模式

抽象容器:

23種設計模式之迭代器模式

具體容器:

23種設計模式之迭代器模式

場景類:

23種設計模式之迭代器模式

迭代器模式的應用

其實, 現在基本上所有的高級語言都實現了迭代器, 基本上跟很少有項目再獨立寫迭代器了.

迭代器現在應用的越來越廣泛了, 甚至已經成為一個最基礎的工具


如果做Java開發, 儘量不要自己寫迭代器模式. 使用Java提供的Iterator一般就能滿足要求了


分享到:


相關文章: