設計模式之迭代器模式

2021-10-09 20:01:58 字數 1416 閱讀 8091

1.訪問乙個集合物件的內容而無需暴露它的內部表示

2.為遍歷不同的集合結構提供乙個統一的訪問介面1.多型迭代:為不同的聚合結構提供一致的遍歷介面,即乙個迭代介面可以訪問不同的聚集物件;

2.簡化集合物件介面:迭代器模式將集合物件本身應該提供的元素迭代介面抽取到了迭代器中,使集合物件無須關心具體迭代行為;

3.元素迭代功能多樣化:每個集合物件都可以提供乙個或多個不同的迭代器,使得同種元素聚合結構可以有不同的迭代行為;

4.解偶迭代與集合:迭代器模式封裝了具體的迭代演算法,迭代演算法的變化,不會影響到集合物件的架構.1.對於比較簡單的遍歷(像陣列或者有序列表),使用迭代器方式遍歷較為繁瑣

public

class

course

public string getname()

public

void

setname

(string name)

@override

public string tostring()

';}}

public

inte***ce

iterator

public

inte***ce

icourseaggregate

public

class

courseaggregateimpl

implements

icourseaggregate

@override

public

void

add(course course)

@override

public

void

remove

(course course)

@override

public iterator

iterator()

}

public

class

iteratorimpl

implements

iterator

@override

public e next()

@override

public

boolean

hasnext()

return

false;}

}

public

class

test

private

static

void

printcourse

(icourseaggregate aggregate)

}}

設計模式之迭代器模式

概念 提供一種方法順序訪問乙個聚合物件中各個元素,而又不需暴露該物件的內部表示。main 客戶 iproject,產品介面 cproject,產品類 iiterator,迭代器介面 iprojectiterator,產品迭代器介面 cprojectiterator,產品迭代器實現類 說明 cproj...

設計模式之迭代器模式

當你需要訪問乙個聚集物件,而且不管這些物件是什麼都需要遍歷的時候,而且可能對聚集有多種方式遍歷時,需要為遍歷不同的聚集結構提供如開始,下乙個,是否結束,當前哪一項等 統一介面,你就應該考慮用迭代器模式.提供一種方法順序訪問乙個聚合物件中各個元素,而又不暴露該物件的內部表示.uml設計圖 部分 ite...

設計模式之迭代器模式

說起迭代器,大家一定不陌生,經常使用的foreach in 這種迴圈就是,c 語言已經內建化了迭代器模式,主要是支援對非泛型集合的簡單迭代介面ieumerator和公開列舉數ienumerable。雖然內建了,但是這種模式也有我們學習的必要性。如下 using system using system...