迭代器模式的定義 定義: 它提供一種方法訪問一個容器對象中各個元素, 而又不需暴露該對象的內部細節 其類圖如下: 其中角色: 其代碼實現如下: 抽象迭代器: 具體迭代器: 抽象容器: 具體容器: 場景類: 迭代器模式的應用 其實, 現在基本上所有的高級語言都實現了迭代器, 基本上跟很少有項目再獨立寫 ...
迭代器模式的定義
定義: 它提供一種方法訪問一個容器對象中各個元素, 而又不需暴露該對象的內部細節
其類圖如下:
其中角色:
- Iterator 抽象迭代器: 抽象迭代器負責定義訪問和遍歷元素的介面, 而且基本上是有固定的三個方法: first()獲得第一個元素, next()訪問下一個元素, isDone() 是否已經訪問到末尾
- ConcreteIteraor 具體迭代器: 實現抽象 迭代器, 完成容器元素的遍歷
- Aggregate 抽象容器: 負責提供創建具體迭代器的介面
- ConcreteAggregate 具體容器: 實現抽象容器定義的方法, 創建出容納迭代器的對象
其代碼實現如下:
抽象迭代器:
具體迭代器:
抽象容器:
具體容器:
場景類:
迭代器模式的應用
其實, 現在基本上所有的高級語言都實現了迭代器, 基本上跟很少有項目再獨立寫迭代器了.
迭代器現在應用的越來越廣泛了, 甚至已經成為一個最基礎的工具
如果做Java開發, 儘量不要自己寫迭代器模式. 使用Java提供的Iterator一般就能滿足要求了