这里就直接引用一些某位同志的文章:
设计模式 写道
通常
,面向对象的软件开发要求尽可能细致地分配,从而使每
个对象都能够独立完成自己的任务。Observer模式通过尽可能缩小一个对象应对其他对象承担的责任范围来支持这种责任分配。而singleton模式
将责任集中于其他对象都可以访问和复用的某个特定对象中。与singleton模式类似的是,中介者模式也对责任进行了集中,不过这种模式只是对某个特定
对象集合的责任进行集中,而不是对整个系统的其他所有对象的责任进行集中。
如果对象群组中的交互错综复杂,而每个对象都需要了解本集合中的其他每个对象的情况,那么这个时候采用一个核心机构来负责控制它们的交互将非常有用,当这些相关对象之间的交互独立于对象的其他行为的时候,对责任进行集中也很有用。
Mediator模式的意图就是定义一个对象,该对象将对象集合之间的交互封装起来。利用该模式可以降低对象之间的耦合程序,避免对象之间的显式引用,还可以让对象间的交互独立变化。
在我们应用MVC设计模式的时候我们同时也可以应用中介者模模式。
MVC就是模型-视图-控制器这三个对象。而模式要与视图分开,所以我们可以把控制器当作中介者来接收视图的请求,并把处理业务逻辑交给模式
具体代码就是模型、视图对控制器的显式引用,而控制器引用这两个对象,这里就不写喽
小结:
中介者模式可以降低对象之间的耦合程序,避免了相关对象之间的显式引。中介者模式广泛应用于GUI应用程序的开发过程,特别是游戏开发的时候。借助这个模式,可以不必直接管理组件之间的复杂的交互。
在构造GUI的时候,Java会引导我们使用中介者模式,但它并不要求我们一定要把中介逻辑移出应用程序类。不过,这样做可以简化我们的代码。中介者类可专门用于处理对象间的交互,而应用程序类专门负责创建组件。
引入中介者对象还有其他的优点。例如,我们可以使用中介者对象集中负责维护对象模型的关系完整性。每当需要封装对象间的交互方式的时候,我们都可以应用中介者模式。
分享到:
相关推荐
中介者模式(Mediator) 用意:用一个中介对象来封装一系列对象间的交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
C#面向对象设计模式 (行为型模式) Mediator 中介者模式 视频讲座下载
中介者模式的完整代码。 程序默认使用vs开发。其他开发工具可能需要做少许调整。
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式
中介者模式(Mediator Pattern)是一种行为型设计模式,用于减少对象之间的直接相互依赖,使得对象间的交互通过一个中介者对象来进行协调。在中介者模式中,对象之间不再直接相互调用,而是通过中介者对象来传递消息...
C++设计模式课件17_Mediator_中介者.pdf
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 (Level 300)
设计模式参考文档 创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
主要介绍了Java设计模式之中介模式(Mediator模式)介绍,本文讲解了为何使用Mediator模式、如何使用中介模式等内容,需要的朋友可以参考下
主要介绍了javascript设计模式之中介者模式Mediator,需要的朋友可以参考下
Mediator 中介者模式 若有问题,烦请指出。
主要介绍了C#设计模式之Mediator中介者模式解决程序员的七夕缘分问题,简单说明了中介者模式的定义并结合七夕缘分问题实例分析了中介者模式的具体使用技巧,需要的朋友可以参考下
然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括Module(模块)模式、Observer(观察者)模式、Facade(外观)模式和Mediator(中介者)模式;最后,还探讨了模块化的JavaScript模式、jQuery及其插件...
用一个中介者对象来封装一系列对象的交互,中介和者模式使得各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。
23种Python设计模式示例...Interpreter解释器模式,Iterator迭代器模式,Mediator中介者模式、Singleton光身汉模式,Observer观察者模式等,一共23种,这里不一一列举了,每一种模式代码,都包括了中文注解,利于学习。
主要介绍了Java设计模式之中介者模式(Mediator Pattern),需要的朋友可以参考下
这是一个运用了中介者设计模式的登录对话框练习题。 该案例改编自结城浩《设计模式-java语言中的应用》一书。 This is a program about a login dialog, wich try to illustrate the design pattern of Mediator. ...