1. 程式人生 > >叠代子模式

叠代子模式

iter 遍歷 對象 crete 數據 模式 none 當前位置 span

概述:

Java對叠代子模式的支持來自於Java聚集的需要,一個聚集需要向外界提供遍歷聚集元素的方法。提供一種方法來讓別人可以訪問它的元素,而又不需要暴露它的內部結構

叠代器模式:使用叠代器模式來提供對聚合對象的統一存取,即提供一個外部的叠代器來對聚合對象進行訪問和遍歷 , 而又不需暴露該對象的內部結構。又叫做遊標(Cursor)模式 。

適用性

叠代器模式可用來:

? 訪問一個聚合對象的內容而無需暴露它的內部表示。
? 需要為聚合對象提供多種遍歷方式。
? 為遍歷不同的聚合結構提供一個統一的接口 (即, 支持多態叠代)

技術分享

抽象叠代器(Iterator): 叠代器定義訪問和遍歷元素的接口。
具體叠代器(ConcreteIterator): 具體叠代器實現叠代器Iterator接口。對該聚合遍歷時跟蹤當前位置。
抽象聚合類(Aggregate): 聚合定義創建相應叠代器對象的接口。
具體聚合類(ConcreteAggregate): 體聚合實現創建相應叠代器的接口,該操作返回ConcreteIterator的一個適當的實例。

1)聚合是一個管理和組織數據對象的數據結構。

2)聚合對象主要擁有兩個職責:一是存儲內部數據;二是遍歷內部數據

3)存儲數據是聚合對象最基本的職責。

4)遍歷聚合對象中數據的行為提取出來封裝到一個叠代器中,通過專門的叠代器來遍歷聚合對象的內部數據,這就是叠代器模式的本質。叠代器模式是“單一職責原則”的完美體現。

叠代子模式