中介者模式用於開發乙個物件,這個物件能夠在類似物件相互之間不直接相互的情況下傳送或者調解對這些物件的集合的修改。 一般處理具有類似屬性,需要保持同步的非耦合物件時,最佳的做法就是中介者模式。php中不是特別常用的設計模式。
<?phpabstract class mediator
abstract class colleague
public function send($message)
abstract public function notify($message);
} class concretemediator extends mediator else
}public function set($colleague1,$colleague2)
} class colleague1 extends colleague
} class colleague2 extends colleague
} // client
$objmediator = new concretemediator();
$objc1 = new colleague1($objmediator);
$objc2 = new colleague2($objmediator);
$objmediator->set($objc1,$objc2);
$objc1->send("to c2 from c1"); //輸出:colleague1:to c2 from c1
$objc2->send("to c1 from c2"); //輸出:colleague2:to c1 from c2
PHP設計模式之中介者模式
上回說道,我們在外打工的經常會和一類人有很深的接觸,那就是房產中介。大學畢業後馬上就能在喜歡的城市買到房子的x二代不在我們的考慮範圍內哈。既然需要長期的租房,那麼因為工作或者生活的變動,不可避免的一兩年或者三五年就要和房產中介打一次交道。有的時候,我們租房並不一定會知道房主的資訊,房主也不用知道我們...
php設計模式 Mediator 中介者模式
複製 如下 php 中介者模式 用乙個中介物件來封裝一系列的物件互動,使各物件不需要顯式地相互引用從而使其耦合鬆散,而且可以獨立地改變它們之間的互動 abstract class mediator abstract class colleague public function send messa...
設計模式 中介者模式
假如沒有總經理,下面三個部門 財務部,市場部,研發部。財務部要發工資,讓大家核對公司需要跟市場部和研發部都通氣 市場部要接新專案,需要研發部處理技術 需要財務部出資金。市場部跟各個部門打交道。雖然只有三個部門,但是關係非常亂。實際上,公司都有總經理。各個部門有什麼事情都通報到總經理這裡,總經理再通知...