中介者

中介者模式(调停者模式)

用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。

中介者模式优缺点

中介者的优点:

1.Mediator的出现减少了各个Colleague的耦合,使得可以独立地改变和复用各个Colleague类和Mediator.

2.由于把对象如何协作进行了抽象,将中介作为一个独立的概念并将其封装在一个对象中,这样关注的对象就从对象各自本身的行为转移到它们之间的交互上来,也就是站在一个更宏观的角度去看待系统。

中介者的缺点:

由于ConcreteMediator控制了集中化,于是就把交互复杂性变为了中介者的复杂性,这就使得中介者会变得比任何一个ConcreteColleague都复杂。

中介者模式应用场合

中介者模式一般应用于一组对象以定义良好但是复杂的方式进行通信的场合,以及想定制一个分布在多个类中的行为,而又不想生成太多的子类的场合。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 12:13:44

中介者的相关文章

第19章 行为型模式—中介者模式

1. 中介者模式(Mediator Pattern)的定义 (1)定义:用一个中介对象来封装一系统对象交互.中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互.       ①中介者模式主要用来将同事类之间网状结构变为星状结构,使同事类之间的关系变的清晰一些. ②所有对象只跟中介者对象进行通信,相互之间不再有联系,这样也能够集中控制这些对象的交互关系. (2)中介者模式的结构和说明 ①Mediator: 中介者接口.在里面定义各个同事之间交互需要的方法,可以

《大话设计模式》学习笔记21:中介者模式

同事间接收消息示例: 1.Mediator: public abstract class Mediator { public abstract void Send(string message, Colleague colleague); } 2.Colleague: public abstract class Colleague { protected Mediator mediator; public Colleague(Mediator mediator) { this.mediator

设计模式开始--中介者模式

中介者模式 一.问题 用一个中介对象来封装一系列对象的交互,好多对象之间交互,会形成错综复杂的网络,类和类之间相互引用,表现形式是多对多,为了改变这种紧耦合的情况,引入中介者,用中介者与各个类进行交互,形成一个星形的网络,中介者在星形网络的中间,其余的对象组成网络的每一个边 二.类图和实例 (1)未使用中介者(联合国)之前的国与国家之间的联系 (2)使用了中介者之后,国与国之间联系通过联合国进行联系 (3)类图设计 三.实现 (1)抽象中介者用于定义格式 具体中介者用于定义那几个类之间有关系,他

php中的设计模式之--中介模式

<?php /* 中介者模式是一种行为型模式,它包装了一系列对象相互作用的方式, 使得这些对象不必相互明显作用,从而使它们可以松散偶合.当某些对象之间的作用发生改变时, 不会立即影响其他的一些对象之间的作用,保证这些作用可以彼此独立的变化. 定义一个中介对象来封装系列对象之间的交互.中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互. 主要角色 ? 中介者(Mediator)角色:定义了对象间相互作用的接口(房产中介) ? 具体中介者(ConcreteMe

21中介模式

 1中介模式的核心内容是: A:通过中间这向多方发送消息 2中介模式的作用:通过中介模式模式中介对两个互不通信的部分进行发通知. 3中介模式具体描述 MEDIATOR调停者模式 调停者模式:调停者模式包装了一系列对象相互作用的方式, 使得这些对象不必相互明显作用.从而使他们可以松散偶合. 当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用. 保证这些作用可以彼此独立的变化.调停者模式将多对多的相互作用转化 为一对多的相互作用.调停者模式将对象的行为和协作抽象化 ,把对象在小

java23中设计模式之中介者模式

package com.bdqn.mediator; /** * 部门接口 * @author OU * */ public interface Department { void selfAction();//做本部门的事情 void outAction();//向总经理发出申请 } department package com.bdqn.mediator; /** * 研发部门 * @author OU * */ public class Development implements Dep

23种设计模式--中介者模式-Mediator Pattern

一.中介者模式的介绍     中介者模式第一下想到的就是中介,房子中介,婚姻中介啊等等,当然笔者也希望来个婚姻中介给我介绍一个哈哈哈,,回归正题中介者模式分成中介者类和用户类,根据接口编程的方式我们再把中介和用户类分成2个类,这样就成了抽象中介者角色,具体中介者角色.抽象同事类和具体同事类.来几个例子比如说各种游戏平台,还有我们最熟悉的QQ平台,等等这些都是中介者模式的具体应用,中介者模式常用于处理通信之间复杂有关联的业务,这样就会存在一个缺点比如说因为中介者处理了好多用户之间的关系,一但发生错

java中介者模式

中介者模式主要在于解耦,使用一个中介的对象,封装一组对象之间的交互,这样这些对象就可以不用彼此耦合. 应用场景: 1.当一组对象要进行沟通或者业务上的交互,但是其关系又很复杂混乱时. 2.当一个对象与其他对象要进行紧密的交互,又不想依赖于其他对象时. 3.想创造一个运行于多个类之间的对象,又不想生成新的子类. 附代码: 1 abstract class Link { //对象父类 2 protected int number; 3 4 public int getNumber() { 5 ret

中介者模式(Mediator)

一.中介者模式介绍 中介者模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用.从而使其耦合松散,而且可以独立地改变它们之间的交互. 中介者模式核心:1.就是将网状结构处理成星型结构      2.将多对多处理成一对多 例如:世界上各个国家的和平和安全,沟通和交流等等问题,如果各个国家都可以互相交互的话,容易造成混乱,关系复杂. 这个时候联合国的作用就出现了,联合国作为一个中介对象来维护各个国家的和平和安全等等的工作. 中介者模式UML图: 例如:公司中如果没有部门经理

跨境电商如何从商店沦为中介

一直以来,跨境电商都是电商行业里极其特殊的一个细分垂直领域.相比其他呈现高速发展态势的电商领域,跨境电商的发展轨迹就像是在玩过山车--时而一飞冲天,时而跌入低谷.而在发展的过程中,跨境电商也在不断转变自身形态.从最具雄心勃勃的自有商品电商平台,到现在迷茫彷徨,跨境电商的内心可谓五味杂陈. 近段时间以来的新政让一些依靠保税仓起家的跨境电商平台遭受重击.这种依靠补贴."特惠通关"等地区性扶+持政策维生的平台,不得不面临急迫转型,纷纷将目光聚焦在更为省事.受到政策较小影响的海外直购上.这种经