天天看點

PHP設計模式——職責鍊模式

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

       職責鍊模式(又叫責任鍊模式)包含了一些指令對象和一些處理對象,每個處理對象決定它能處理那些指令對象,它也知道應該把自己不能處理的指令對象交下一個處理對象,該模式還描述了往該鍊添加新的處理對象的方法。

       UML類圖:   

PHP設計模式——職責鍊模式

        角色:          

       抽象處理者(Manager):定義出一個處理請求的接口。如果需要,接口可以定義出一個方法,以設定和傳回對下家的引用。這個角色通常由一個抽象類或接口實作。

       具體處理者(CommonManager):具體處理者接到請求後,可以選擇将請求處理掉,或者将請求傳給下家。由于具體處理者持有對下家的引用,是以,如果需要,具體處理者可以通路下家。

      核心代碼:

            調用用戶端代碼:

           适用場景:          

          1、有多個對象可以處理同一個請求,具體哪個對象處理該請求由運作時刻自動确定。

          2、在不明确指定接收者的情況下,向多個對象中的一個送出一個請求。

         3、可動态指定一組對象處理請求。

           至此,PHP設計模式系列教程全部更新結束,歡迎大家批評指正。你的隻言片語是我前進的動力。

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

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