手机
当前位置:查字典教程网 >编程开发 >php教程 >php设计模式 Mediator (中介者模式)
php设计模式 Mediator (中介者模式)
摘要:复制代码代码如下:

复制代码 代码如下:

<?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默认安装产生系统漏洞

强烈推荐:php.ini中文版(1)

无数据库的详细域名查询程序PHP版(4)

php的控制语句

PHP初学者头疼问题总结

PHP制作图型计数器的例子

我的论坛源代码(四)

fckeditor上传文件按日期存放及重命名方法

PHP设计模式之装饰者模式代码实例

JAVA/JSP学习系列之五

精品推荐
分类导航