中介者模式,英文名:Mediator。基本概念:中介者允许我们公开一个统一的接口,系统的不同部分可以通过该接口进行通信。使用场景:一个系统的各个组件之间看起来有太多的直接关系,这时需要一个中心控制点,以便各个组件可以通过这个中心控制点进行通信。作用:确保组件的交互是通过这个中心控制点来处理的,而不是...
分类:
其他好文 时间:
2015-05-07 11:49:02
阅读次数:
146
如果对象之间的联系呈现为网状结构,存在大量的多对多联系,在网状结构中,几乎每个对象都需要与其他对象发生相互作用,而这种相互作用表现为一个对象与另外一个对象的直接耦合,这将导致一个过度耦合的系统。如果在一个系统中对象之间存在多对多的相互关系,我们可以将对象之间的一些交互行为从各个对象中分离出来,并集中封装在一个中介者对象中,并由该中介者进行统一协调,这样对象之间多对多的复杂关系就转化为相对简单的一对多关系。通过引入中介...
分类:
其他好文 时间:
2015-05-06 15:04:49
阅读次数:
142
中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用。先看看图:Use...
分类:
其他好文 时间:
2015-05-06 10:28:30
阅读次数:
134
//---------------------------15/04/27----------------------------
/*
1:意图:
用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,
而且可以独立地改变它们之间的交互。
2:动机:
3:...
分类:
其他好文 时间:
2015-04-27 16:56:41
阅读次数:
156
package com.modle;
/**
* 中介者模式
* @author k560
*
*/
/*需求:产品A要比产品B贵100块,当改A的价格,B的价格也要同步改动,反过来也一样*/
public class Mediator extends AbstractMediator{
private AbstracProduct productA;
private Abs...
分类:
其他好文 时间:
2015-04-26 15:20:19
阅读次数:
116
在GOF的《设计模式:可复用面向对象软件的基础》一书中对中介者模式是这样说的:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。我们都知道,面向对象设计鼓励将行为分布到各个对象中。但是,这种分布可能会导致对象间有许多连接。在...
分类:
其他好文 时间:
2015-04-24 12:18:03
阅读次数:
148
最近在复习Design Pattern,好久没用都有些忘记了,主要是没什么机会做开发实践,
今天来复习一下,也不知道我的概念正不正确。
Mediator 实现了一个中间人处理机制,适合应用的情境是:
1) 当多个实体(或物件)互相交互时,相互间的关系多样且复杂,
2) 或者一个实体同时与多个实体交互时。想通过一种方式减少交互量。
就像视频衣果聊,美眉同时和多个观众...
分类:
编程语言 时间:
2015-04-23 13:18:41
阅读次数:
275
??
中介模式Mediator
场景
假如没有总经理,下面有三个部门,财务部,市场部,研发部。财务部要发工资,让大家和对公司需要跟市场部和研发部都通气。市场部要接个新项目,需要研发部技术支持,需要财务部处理资金。市场部跟各个部门打交道。财务部发钱了,需要跑去和研发部和市场部打交道。研发部研发产品,市场部做调研,销售缺少资金又需要去找财务部。在这种情况下...
分类:
其他好文 时间:
2015-04-12 12:06:28
阅读次数:
123
/**
* 时间:2015年4月12日09:57:11
* 抽象中介类,定义了同事对象到中介者对象的接口
*
*/
package com.bjsxt.cn.mediator;
public interface Mediator {
public void register(String dname, Deparment d);
public void command...
分类:
其他好文 时间:
2015-04-12 12:05:09
阅读次数:
169