加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

怎么更改PHP中介者模式的交互

发布时间:2023-07-10 13:16:23 所属栏目:语言 来源:
导读:关于“怎么改变PHP中介者模式的交互?”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往

关于“怎么改变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."

";

}

}

class Colleague2 extends Colleague

{

public function notify($message)

{

echo "Colleague2 Message is :".$message."

";

}

}

//

$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中介者模式的交互?”的文章就介绍到这了,更多相关的内容,小编将为大家输出更多高质量的实用文章!

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!