定義:Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.(它提供一種方法訪問一個容器對象中各個元素,而又不需暴露該對象的內部細節。)
迭代器模式的通用類圖如圖所示。
我們來看看迭代器模式中的各個角色:
- Iterator抽象迭代器:抽象迭代器負責定義訪問和遍歷元素的接口。
- ConcreteIterator具體迭代器:具體迭代器角色要實現迭代器接口,完成容器元素的遍歷。
- Aggregate抽象容器:容器角色負責提供創建具體迭代器角色的接口,必然提供一個類似createIterator()這樣的方法,在Java中一般是iterator()方法。
- Concrete Aggregate具體容器:具體容器實現容器接口定義的方法,創建出容納迭代器的對象。
其它設計模式內容戳這裏。