概述
Iterator Pattern,即迭代器模式。讓你能在不暴露集合底層的表現形式(列表、棧和樹等)的情況下遍歷集合中的所有元素。
又稱遊標模式(cursor pattern)提供了一種順序訪問集合或者容器對象元素的方法,又無須暴露集合的內部表示。
本質是抽離出集合對象的迭代行爲到一個迭代器中,提供一個統一訪問的接口。
結構
樣例
迭代器接口:
具體的迭代器實現:
模擬的集合接口:
模擬的具體的集合:
客戶端:
適用場景
不希望客戶端直接與複雜數據結構內部的元素交互,而是通過迭代器提供的訪問接口進行訪問。
抽離集合的迭代行爲到一個迭代器中,提供了一個或者多個訪問的接口,而使用者不需要關心內部的迭代算法如何實現。
對未知數據結構遍歷。