1 前言
在物件導向中,針對抽象集合迭代行為的設計模式稱為迭代器。
2 詳述
2.1 簡述
迭代器提供了一種順序訪問聚合物件(集合)中元素的方法,而無需暴露結構的底層表示和細節。便利集合中元素的只能從集合本身轉移到迭代器物件。迭代器定義了乙個用於訪問集合元素並記錄當前元素的介面。不同的迭代器可以執行不同的遍歷策略。
提供一種方法順序訪問乙個聚合物件中得各個元素,而又不需暴露該物件的內部表示。
2.2 分類
外部迭代器:讓客戶端直接操作迭代過程,所以客戶端需要知道外部迭代器才能使用。
內部迭代器:集合物件(被迭代的目標物件)在其內部維護並操作乙個外部迭代器。提供內部迭代器的典型的集合物件為客戶端定義乙個介面,或者從底層的集合一次訪問乙個元素,或者向每個元素傳送訊息。
2.3 何時使用
(1)需要訪問組合物件的內容,而又不暴露其內部表示;
(2)需要通過多種方式遍歷組合物件;
(3)需要提供乙個統一的介面,用來遍歷各種型別的組合物件。
3 結語
以上是所有內容,希望對大家有所幫助。
設計模式14 迭代器模式
迭代器模式 目前是乙個已經沒落的模式,基本上沒人會單獨寫乙個迭代器模式。它提供一種方法訪 抽象迭代器 public inte ce iterator 具體迭代器 public class concreteiterator implements iterator override public obj...
iOS設計模式 迭代器
一 介紹 迭代器 提供一種方法順序訪問乙個聚合物件中的各個元素,而不需要暴露該物件的內部表示.遍歷集合中元素的只能從集合本身轉移到迭代器物件。迭代器定義了乙個用於訪問集合元素並記錄當前元素的介面。不同的迭代器可以執行不同的遍歷策略。提供一種方法順序訪問乙個聚合物件中得各個元素,而又不需暴露該物件的內...
iOS設計模式 七 迭代器模式
迭代器提供了一種順序訪問聚合物件 集合 中元素的方法,而無需暴露結構的低層表示和細節。遍歷集合中元素的職能從集合本身轉移到迭代器物件。迭代器定義了乙個用於訪問集合元素並記錄當前元素的介面。不同的迭代器可以執行不同的遍歷策略。下面就是一種系統自帶的迭代器模式。nsarray array 1,2,3 n...