重新温习GOF23到第18个中介者模式了,感觉还是蛮不错的,写了一个小小的Demo来解释下他们之间的关系。
中介者模式其实就相当于:中介,租房人,还有房主三者之间的关系。
房主A,租房人B首先联系了中介,在中介那里记名字了。
房主A有空房了,发条消息给中介,中介将A有空房的消息发给其他人。
在此之上,demo做了小小扩充,当又有租房人C联系中介,B发了条消息,A与C都会收到B的消息。
#...
分类:
其他好文 时间:
2014-12-05 09:21:35
阅读次数:
220
一、概述
用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。
二、适用场景
协调多个对象之间的交互。
三、UML类图
四、参与者
1、Mediator(抽象中介者):它定义一个接口,该接口用于与各同...
分类:
编程语言 时间:
2014-12-02 22:33:50
阅读次数:
275
面向过程解决";}hanio(2, 'A', 'B', 'C');?> 面向过程写n = $n; $this->start = $start; $this->mediator = $mediator; $this->goal = $goal; } //单个盘移动 private funct...
分类:
Web程序 时间:
2014-11-21 18:14:58
阅读次数:
159
mediator = $mediator; } public function send($message){ $this->mediator->send($message,$this); } abstract function notify($message);}//具体的同事类a b c ...
分类:
Web程序 时间:
2014-11-10 15:10:14
阅读次数:
162
前言:【模式总览】——————————by xingoo 模式意图 使用一个中介的对象,封装一组对象之间的交互,这样这些对象就可以不用彼此耦合。 这个中介者常常起着中间桥梁的作用,使其他的对象可以利用中介者完成某些行为活动,因此它必须对所有的参与活动的对象了如指掌! 应用场景 1 当一...
分类:
其他好文 时间:
2014-11-07 23:24:49
阅读次数:
279
类图
public interface IMediator {
public void createMediator();
public void work();
}
/**
* 中介、调节实际上需要交互的两个元素,让其松耦合
* @author stone
*
*/
public class Mediator implements IMediator {
pr...
分类:
编程语言 时间:
2014-10-14 18:44:59
阅读次数:
192
Java 设计模式 之 中介者模式(Mediator)2011-07-03 18:43:14|分类:Java 设计模式|标签:java设计模中介者模式mediator|举报|字号订阅中介者的功能非常简单,就是封装对象之间的交互。如果一个对象的操作会引起其他相关对象的变化,或者是某个操作需要引起其他对...
分类:
其他好文 时间:
2014-10-13 02:12:38
阅读次数:
231
中介者模式(Mediator):主要用来降低类与类之间的耦合的,因为如果类与类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。
中介者模式只需关心和Mediator类的关系,具体类与类之间的关系及调用交给Mediator就行。...
分类:
编程语言 时间:
2014-10-13 02:03:38
阅读次数:
191
一个插件系统中,A插件在不影响其它插件的前提下,添加新的方法,或者在一个方法运行前做一些准备工作,通过继承来实现扩展是很不容易的,由于插件之间的关联关系,A插件的改变也会使得关联的插件被动的修改。 Symfony2的EventDispatcher组件实现了中介者(mediator)模式...
分类:
其他好文 时间:
2014-10-10 17:40:14
阅读次数:
318
中介者模式(Mediator)
用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件。标志是一只戴着红色围巾的小企鹅。QQ注册用户由1999年的2人(马化腾和张志东)到现在已经发展到上...
分类:
其他好文 时间:
2014-10-09 23:26:38
阅读次数:
251