php设计模式 Mediator (中介者模式)
2011-06-26 00:00
2416 查看
<?php /** * 中介者模式 * * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 */ abstract class Mediator { abstract public function send($message,$colleague); } abstract class Colleague { private $_mediator = null; public function Colleague($mediator) { $this->_mediator = $mediator; } public function send($message) { $this->_mediator->send($message,$this); } abstract public function notify($message); } class ConcreteMediator extends Mediator { private $_colleague1 = null; private $_colleague2 = null; public function send($message,$colleague) { if($colleague == $this->_colleague1) { $this->_colleague1->notify($message); } else { $this->_colleague2->notify($message); } } public function set($colleague1,$colleague2) { $this->_colleague1 = $colleague1; $this->_colleague2 = $colleague2; } } class Colleague1 extends Colleague { public function notify($message) { echo "Colleague1 Message is :".$message."<br/>"; } } class Colleague2 extends Colleague { public function notify($message) { echo "Colleague2 Message is :".$message."<br/>"; } } // $objMediator = new ConcreteMediator(); $objC1 = new Colleague1($objMediator); $objC2 = new Colleague2($objMediator); $objMediator->set($objC1,$objC2); $objC1->send("to c2 from c1"); $objC2->send("to c1 from c2");
相关文章推荐
- php设计模式 Mediator (中介者模式)
- 转载:php设计模式 Mediator (中介者模式)
- [php]php设计模式 Mediator (中介者模式)
- JAVA--中介者模式(Mediator)--设计模式二十二
- Java开发中的23种设计模式详解----中介者模式(Mediator)
- 设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
- 设计模式学习笔记--中介者模式Mediator pattern(Java版)
- 设计模式:中介者模式(Mediator)
- 我所理解的设计模式(C++实现)——中介者模式(Mediator Pattern)
- HeadFirst 设计模式学习笔记18--中介者(Mediator)模式拾零
- 【Unity3D与23种设计模式】中介者模式(Mediator)
- 设计模式----Mediator(中介者)模式
- 设计模式:中介者模式(Mediator)
- PHP设计模式系列 - 中介者模式
- 大熊君说说JS与设计模式之------中介者模式Mediator
- 设计模式之中介者模式,mediator
- php模式设计之 中介者模式
- PHP设计模式——中介者模式
- 设计模式之Mediator(中介者)模式(理论篇)