- 浏览: 20317 次
- 性别:
- 来自: 武汉
最新评论
Mediator定义:
用一个中介对象来封装一系列关于对象交互行为.
为何使用Mediator?
各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性.
如何使用?
首先 有一个接口,用来定义成员对象之间的交互联系方式:
public interface Mediator { }
Meiator具体实现,真正实现交互操作的内容:
public class ConcreteMediator implements Mediator {
//假设当前有两个成员.
private ConcreteColleague1 colleague1 = new ConcreteColleague1();
private ConcreteColleague2 colleague2 = new ConcreteColleague2();
...
}
再看看另外一个参与者:成员,因为是交互行为,都需要双方提供一些共同接口,这种要求在Visitor Observer等模式中都是相同的.
public class Colleague {
private Mediator mediator;
public Mediator getMediator() {
return mediator;
}
public void setMediator( Mediator mediator ) {
this.mediator = mediator;
}
}
public class ConcreteColleague1 { }
public class ConcreteColleague2 { }
每个成员都必须知道Mediator,并且和 Mediator联系,而不是和其他成员联系.
至此,Mediator模式框架完成,可以发现Mediator模式规定不是很多,大体框架也比较简单,但实际使用起来就非常灵活.
Mediator模式在事件驱动类应用中比较多,例如界面设计GUI.;聊天,消息传递等,在聊天应用中,需要有一个MessageMediator,专门负责request/reponse之间任务的调节.
MVC是J2EE的一个基本模式,View Controller是一种Mediator,它是Jsp和服务器上应用程序间的Mediator.
用一个中介对象来封装一系列关于对象交互行为.
为何使用Mediator?
各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关心和 Mediator的关系,使多对多的关系变成了一对多的关系,可以降低系统的复杂性,提高可修改扩展性.
如何使用?
首先 有一个接口,用来定义成员对象之间的交互联系方式:
public interface Mediator { }
Meiator具体实现,真正实现交互操作的内容:
public class ConcreteMediator implements Mediator {
//假设当前有两个成员.
private ConcreteColleague1 colleague1 = new ConcreteColleague1();
private ConcreteColleague2 colleague2 = new ConcreteColleague2();
...
}
再看看另外一个参与者:成员,因为是交互行为,都需要双方提供一些共同接口,这种要求在Visitor Observer等模式中都是相同的.
public class Colleague {
private Mediator mediator;
public Mediator getMediator() {
return mediator;
}
public void setMediator( Mediator mediator ) {
this.mediator = mediator;
}
}
public class ConcreteColleague1 { }
public class ConcreteColleague2 { }
每个成员都必须知道Mediator,并且和 Mediator联系,而不是和其他成员联系.
至此,Mediator模式框架完成,可以发现Mediator模式规定不是很多,大体框架也比较简单,但实际使用起来就非常灵活.
Mediator模式在事件驱动类应用中比较多,例如界面设计GUI.;聊天,消息传递等,在聊天应用中,需要有一个MessageMediator,专门负责request/reponse之间任务的调节.
MVC是J2EE的一个基本模式,View Controller是一种Mediator,它是Jsp和服务器上应用程序间的Mediator.
发表评论
-
设计模式之Visitor
2011-10-11 15:24 859Visitor定义 作用于某个对象群中各个对象的操作. 它可以 ... -
设计模式之Template
2011-10-11 14:53 641Template定义: 定义一个操 ... -
设计模式之Strategy(策略)
2011-10-11 14:42 622Strategy是属于设计模式中 对象行为型模式,主要是定义一 ... -
设计模式之State
2011-10-10 10:02 748State的定义: 不同的状态 ... -
设计模式之Singleton(单态)
2011-10-10 09:24 766定义: Singleton模式主要作用是保证在Java应用程序 ... -
设计模式之Proxy(代理)
2011-10-10 09:11 720理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在 ... -
设计模式之Prototype(原型)
2011-10-09 14:56 687定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建 ... -
设计模式之Observer
2011-10-09 14:47 628Java深入到一定程度,就 ... -
设计模式之Memento(备忘机制)
2011-10-09 14:30 694Memento定义: memento是一个保存另外一个对象内部 ... -
设计模式之Interpreter(解释器)
2011-10-09 09:45 881Interpreter定义: 定义语言的文法 ,并且建立一个解 ... -
设计模式之Flyweight(享元)
2011-10-08 17:35 651Flyweight定义: 避免大量拥有相同内容的小类的开销(如 ... -
设计模式之Factory
2011-10-08 17:15 695定义:提供创建对象的接 ... -
设计模式之Facade(外观)
2011-09-30 10:17 737Facade的定义: 为子系统中的一组接口提供一个一致的界面. ... -
设计模式之Decorator(油漆工)
2011-09-30 10:10 569Decorator常被翻译成" ... -
设计模式之Composite(组合)
2011-09-30 10:10 702Composite定义: 将对象以树形结构组织起来,以达成“部 ... -
设计模式之Command
2011-09-29 14:53 646Command模式是最让我疑惑的一个模式,我在阅读了很多代码后 ... -
设计模式之Chain of Responsibility(职责链)
2011-09-29 14:36 697Chain of Responsibility定义 Chain ... -
设计模式之Builder
2011-09-29 14:08 684Builder模式定义: 将一个复杂对象的构建与它的表示分离, ... -
设计模式之Bridge
2011-09-29 13:58 657Bridge定义 : 将抽象和行 ... -
设计模式之Adapter(适配器)
2011-09-29 13:25 683定义: 将两个不兼容的 ...
相关推荐
本文实例讲述了C#设计模式之Mediator中介者模式解决程序员的七夕缘分问题。分享给大家供大家参考,具体如下: 一、理论定义 中介者模式 定义了一种一对多的操作,解脱了对象之间多对多的引用依赖,所有对象之间的...
C#面向对象设计模式 (行为型模式) Mediator 中介者模式 视频讲座下载
中介者模式(Mediator) 用意:用一个中介对象来封装一系列对象间的交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式
中介者模式的完整代码。 程序默认使用vs开发。其他开发工具可能需要做少许调整。
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 (Level 300)
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
C++设计模式课件17_Mediator_中介者.pdf
中介者模式(Mediator Pattern)是一种行为型设计模式,用于减少对象之间的直接相互依赖,使得对象间的交互通过一个中介者对象来进行协调。在中介者模式中,对象之间不再直接相互调用,而是通过中介者对象来传递消息...
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
Mediator 中介者模式 若有问题,烦请指出。
设计模式参考文档 创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
主要介绍了javascript设计模式之中介者模式Mediator,需要的朋友可以参考下
主要介绍了Java设计模式之中介模式(Mediator模式)介绍,本文讲解了为何使用Mediator模式、如何使用中介模式等内容,需要的朋友可以参考下
php /** * 中介者模式 * * 用一个中介对象来封装一系列的对象交互,使各对象不需要显式地相互引用从而使其耦合松散,而且可以独立地改变它们之间的交互 */ abstract class Mediator { abstract public function send($...
设计模式之中介模式的完整代码实现,Java版
主要介绍了Java设计模式之中介者模式(Mediator Pattern),需要的朋友可以参考下
用一个中介者对象来封装一系列对象的交互,中介和者模式使得各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
本文实例讲述了PHP设计模式之中介者模式(Mediator Pattern)。分享给大家供大家参考,具体如下: 咱们先来看下中介者模式(Mediator Pattern)的定义,它就是,用一个中介对象来封装一系列的对象交互,中介者使各对象不...