天天看點

PHP設計模式——疊代器模式

聲明:本系列部落格參考資料《大話設計模式》,作者程傑。

       疊代器模式:疊代器模式是周遊集合的成熟模式,疊代器模式的關鍵是将周遊集合的任務交給一個叫做疊代器的對象,它的工作時周遊并選擇序列中的對象,而用戶端程式員不必知道或關心該集合序列底層的結構。

       UML類圖:

PHP設計模式——疊代器模式

         角色:      

        Iterator(疊代器):疊代器定義通路和周遊元素的接口

        ConcreteIterator(具體疊代器):具體疊代器實作疊代器接口,對該聚合周遊時跟蹤目前位置

        Aggregate (聚合):聚合定義建立相應疊代器對象的接口(可選)

        ConcreteAggregate(具體聚合):具體聚合實作建立相應疊代器的接口,該操作傳回ConcreteIterator的一個适當的執行個體(可選)

         核心代碼:

          調用用戶端測試代碼:

         使用場景:   

         1.通路一個聚合對象的内容而無需暴露它的内部表示

         2.支援對聚合對象的多種周遊

         3.為周遊不同的聚合結構提供一個統一的接口

       歡迎關注我的視訊課程,位址如下,謝謝。

<a target="_blank" href="http://edu.csdn.net/course/detail/602">   PHP面向對象設計模式</a>