天天看點

PHP設計模式——中介者模式

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

       中介者模式用一個中介者對象來封裝一系列的對象互動。中介者使得各對象不需要顯式地互相引用,進而使其松散耦合,而且可以獨立地改變它們之間的互動。

        UML類圖:

PHP設計模式——中介者模式

          角色:       

          中介者接口(UnitedNations):在裡面定義了各個同僚之間互相互動所需要的方法。

          具體的中介者實作對象(UnitedCommit):它需要了解并為維護每個同僚對象,并負責具體的協調各個同僚對象的互動關系。

          同僚類的定義(Country):通常實作成為抽象類,主要負責限制同僚對象的類型,并實作一些具體同僚類之間的公共功能,

          具體的同僚類(China):實作自己的業務,需要與其他同僚對象互動時,就通知中介對象,中介對象會負責後續的互動。

         核心代碼:

          調用用戶端測試代碼:

       适用場景:

       1、如果一組對象之間的通信方式比較複雜,導緻互相依賴,結構混亂,可以采用中介者模式

       2、如果一個對象引用很多對象,并且跟這些對象互動,導緻難以複用該對象

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

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