IOS設計模式學習(14)迭代器

2021-12-29 20:43:43 字數 550 閱讀 9797

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...