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) 用意:用一个中介对象来封装一系列对象间的交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
C#面向对象设计模式 (行为型模式) Mediator 中介者模式 视频讲座下载
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
中介者模式的完整代码。 程序默认使用vs开发。其他开发工具可能需要做少许调整。
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 (Level 300)
设计模式参考文档 创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
C++设计模式课件17_Mediator_中介者.pdf
主要介绍了C#设计模式之Mediator中介者模式解决程序员的七夕缘分问题,简单说明了中介者模式的定义并结合七夕缘分问题实例分析了中介者模式的具体使用技巧,需要的朋友可以参考下
23种设计模式之十八(行为模式)Mediator模式
用一个中介者对象来封装一系列对象的交互,中介和者模式使得各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
这是一个运用了中介者设计模式的登录对话框练习题。 该案例改编自结城浩《设计模式-java语言中的应用》一书。 This is a program about a login dialog, wich try to illustrate the design pattern of Mediator. ...
然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式和Mediator(中介者)模式;最后,还探讨了模块化的JavaScript模式、jQuery及其插件...
主要介绍了Java设计模式之中介模式(Mediator模式)介绍,本文讲解了为何使用Mediator模式、如何使用中介模式等内容,需要的朋友可以参考下
23种Python设计模式示例...Interpreter解释器模式,Iterator迭代器模式,Mediator中介者模式、Singleton光身汉模式,Observer观察者模式等,一共23种,这里不一一列举了,每一种模式代码,都包括了中文注解,利于学习。
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 C#面向对象设计模式纵横谈(18):(行为型模式) Iterator 迭代器模式 C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式 C#...
主要介绍了javascript设计模式之中介者模式Mediator,需要的朋友可以参考下
第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template ...