天天看點

23種設計模式-疊代器模式(16)

疊代器模式(Iterator Pattern)是 Java 和 .Net 程式設計環境中非常常用的設計模式。這種模式用于順序通路集合對象的元素,不需要知道集合對象的底層表示。

疊代器模式屬于行為型模式。

介紹意圖:提供一種方法順序通路一個聚合對象中各個元素, 而又無須暴露該對象的内部表示。

主要解決:不同的方式來周遊整個整合對象。

何時使用:周遊一個聚合對象。

如何解決:把在元素之間遊走的責任交給疊代器,而不是聚合對象。

關鍵代碼:定義接口:hasNext, next。

應用執行個體:JAVA 中的 iterator。

優點: 1、它支援以不同的方式周遊一個聚合對象。 2、疊代器簡化了聚合類。 3、在同一個聚合上可以有多個周遊。 4、在疊代器模式中,增加新的聚合類和疊代器類都很友善,無須修改原有代碼。

缺點:由于疊代器模式将存儲資料和周遊資料的職責分離,增加新的聚合類需要對應增加新的疊代器類,類的個數成對增加,這在一定程度上增加了系統的複雜性。

使用場景: 1、通路一個聚合對象的内容而無須暴露它的内部表示。 2、需要為聚合對象提供多種周遊方式。 3、為周遊不同的聚合結構提供一個統一的接口。

注意事項:疊代器模式就是分離了集合對象的周遊行為,抽象出一個疊代器類來負責,這樣既可以做到不暴露集合的内部結構,又可讓外部代碼透明地通路集合内部的資料。

更多免費技術資料可關注:annalin1203