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 Pattern)** 在软件工程中,设计模式是一种解决常见问题的经验总结,它提供了一种可复用的解决方案。中介者模式是行为设计模式之一,其主要目的是降低多个对象之间的复杂性,通过...
C#面向对象设计模式 (行为型模式) Mediator 中介者模式 视频讲座下载
标题和描述均提到了"C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式",这明确指向了一个特定的设计模式——中介者模式(Mediator Pattern),并且是在C#语言环境下的应用。下面将详细阐述这一设计...
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
中介者模式的完整代码。 程序默认使用vs开发。其他开发工具可能需要做少许调整。
**中介者模式(Mediator Pattern)** 中介者模式是一种行为设计模式,它的主要目标是减少对象之间的耦合性,通过引入一个中介对象来协调多个对象之间的交互。在传统的多对象交互场景中,对象之间可能存在复杂的依赖...
设计模式参考文档 创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
**中介者模式(Mediator Pattern)**是一种行为设计模式,其主要目的是降低多个对象之间的通信复杂性,将这些对象的直接交互转化为与一个中心对象——中介者的交互。在C#中,中介者模式的应用能够有效地减少类之间的...
### C++设计模式之Mediator(中介者)详解 #### 一、引言 在软件开发过程中,随着系统的复杂度逐渐增加,各个组件之间的交互变得越来越频繁,这不仅增加了系统的耦合度,还使得系统维护变得困难重重。为了解决这一...
C#设计模式之Mediator中介者模式解决程序员的七夕缘分问题示例 Mediator模式是一种行为设计模式,它定义了一种一对多的操作,解脱了对象之间多对多的引用依赖,所有对象之间的通信,都封装在中介者里面。Mediator...
《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...
**中介者模式(Mediator)**是一种设计模式,属于行为设计模式范畴,它定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。在软件工程中,中介者模式常...
中介者模式(Mediator Pattern)是一种行为型设计模式,用于减少对象之间的直接相互依赖,使得对象间的交互通过一个中介者对象来进行协调。在中介者模式中,对象之间不再直接相互调用,而是通过中介者对象来传递消息...
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及其插件...
由浅入深地讲解了16个设计模式,包括 singleton模式、Factory模式、Abstract Factory模式、Builder模式、Prototype模式、Adapter模式、Bridge模式、Composite模式、Decorator模式、Flyweight模式、Proxy模式、Chain ...