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