設計模式學習篇 Iterator迭代器模式

2021-08-31 15:26:18 字數 619 閱讀 7375

迭代器模式:提供一種方法順序訪問乙個聚合物件中各個元素, 而又不需暴露該物件的內部表示。

迭代器模式:提供一種方法順序訪問乙個聚合物件中各個元素, 而又不需暴露該物件的內部表示。

迭代器模式把在元素之間的遊走的責任交給迭代器,而不是聚合物件,這不僅讓聚合的介面和實現變得更簡潔,也可以讓聚合更加專注在它所應該專注的事情上面,而不用去理會遍歷的事情。

本質上就是控制聚合物件中元素的訪問。行為型模式

參與者

迭代器(iterator):迭代器定義訪問和遍歷元素的介面。

具體迭代器(concreteiterator):具體迭代器實現迭代器介面,並儲存迭代過程游標的位置。

聚合(aggregate):聚合定義建立相應迭代器物件的介面。

具體聚合(concreteaggregate):具體聚合實現建立相應迭代器的介面,該操作返回concreteiterator的乙個適當的例項。

這個模式實現簡單 現在jdk 提供了 iterator介面 。這個模式的好處 可以讓我們以不同的策略方式(過濾,限制)等等進行遍歷聚合物件 而 實現不在聚合物件內。

支援對聚合物件的多種遍歷。 為遍歷不同的聚合結構提供乙個統一的介面(即, 支援多型迭代)。

設計模式 Iterator模式

迭代器模式,主要用於容器裡面元素的遍歷,其他地方用到的不多,這裡舉個例項,模仿jdk裡面迭代器的實現,當然我這裡並沒有把iterator方法抽象到iterable這個介面中,依據介面的設計原則,不要做乙個面面俱到的介面,而應該讓特定的介面完成特定的功能 以下是 示例,使用了之後,我們在測試 中,僅僅...

設計模式 迭代模式Iterator

提供乙個方法按順序遍歷乙個集合內的元素,而又不需要暴露該物件的內部表示。1 訪問乙個聚合的物件,而不需要暴露物件的內部表示 2 支援對聚合物件的多種遍歷 3 對遍歷不同的物件,提供統一的介面。iterator 定義訪問的介面 抽象的迭代,有判斷結束和下乙個,獲取當前元素等函式 author xing...

設計模式 Iterator理解

為了更好的理解iterator,也就是迭代器,借用arraylist和linkedlist,來更好解釋了iterator的作用 package designmode.iterator description 定義集合方法介面 author ccq date 2017年6月20日 下午9 52 30 ...