設計模式 迭代子模式

2021-09-16 20:51:37 字數 987 閱讀 1151

定義

迭代子模式可以順序地訪問乙個聚集中的元素而不必暴露聚集的內部表象。我們常見的集合有很多種類,其頂層資料儲存和組織方式的不同導致了我們在對資料進行遍歷的時候存在一些差異,迭代器模式就是通過實現某種統一的方式來實現對不同的集合的遍歷,同時又不暴露出其底層的資料儲存和組織方式。

結構:

**實現:

public inte***ce iterator
public class myiterator implements iterator

@override

public object previous() else

}@override

public object next() else

}@override

public boolean hasnext()

return false;

}@override

public object first() else

}}

public abstract class container
public class mycontainer extends container

@override

public void put(object obj)

@override

public iterator iterator()

}

public class clienttest 

}}

總結

iterator模式是用於遍歷集合類的標準訪問方法。它可以把訪問邏輯從不同型別的集合類中抽象出來,從而避免向客戶端暴露集合的內部結構。

適用場景:

優點:缺點:

設計模式 迭代子模式(Iterator)

迭代器模式就是順序訪問聚集中的物件。一是需要遍歷的物件,即聚集物件,二是迭代器物件,用於對聚集物件進行遍歷訪問。這個思路和我們常用的一模一樣,mycollection中定義了集合的一些操作,myiterator中定義了一系列迭代操作,且持有collection例項,我們來看看實現 兩個介面 publ...

設計模式之迭代子模式(Iterator)

顧名思義,迭代器模式就是順序訪問聚集中的物件,一般來說,集合中非常常見,如果對集合模擬較熟悉的話,理解本模式會十分輕鬆。這句話包含兩層意思 一是需要遍歷的物件,即聚集物件,二是迭代器物件,用於對聚集物件進行遍歷訪問。我們看下關係圖 這個思路和我們常用的一模一樣,mycollection中定義了集合的...

2010 02 23 設計模式之單子模式

單子模式的經典應用 思路比較清晰,寫的過程也比較明白,希望跟我一起在學習開發的人學可以好好參考下 using system using system.collections.generic using system.text namespace singletion 第二步 在外不能new它,那要用...