`

JAVA设计模式之Mediator模式

阅读更多

现实生活中,有很多实际的现象,比如,房产中介,购房者可以不去一家家房产商去跑,去联系,而可以通过房产中介来获取房产商的信息,同样的房产商也不用自己联系顾客,而是通过中介来完成。同样的,在一个大公司里,如果让每个同事直接交流,则这样的效率显然很低下,因为每个员工可能需要维护很多个同事的信息。这时,可以建立一个交流中介,由交流中介来负责传达每个同事的信息请求,这样,每个员工只需要维护一个中介的信息就OK了,而所有的工作都交付给中介来完成,由中介来负责维护各个同事的信息。

中介者模式,就是解决上面一类问题而提出的设计思想。如果一个对象需要和很多其他的对象交互,那么他就需要维护很多个对象的信息,这样非常不利于对象的维护。对于这样的多对多关系,我们可以采用中介者模式后,将其关系编程一对多关联,降低了各个对象之间的耦合度。由中介者统一管理各个对象之间的联系和交互行为。

在很常见的MVC模式中,Controller的角色其实就是一种Mediator,充当Model和View之间的中介,负责Model和View之间的交互。

中介者模式的组件结构如下:

vv

在使用中介者模式的时候,在Mediator添加Colleague的时候,就建立Mediator和该Colleague的关系

在addColleague方法中调用colleague.setMediator(this)来建立。而不是在Colleague的构造方法中传入Mediator对象。这样可以隐藏这种双向关联关系。

分享到:
评论

相关推荐

    JAVA设计模式chm文档

    创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) 结构模式: ...设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor

    JAVA设计模式之行为模式

    这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、Observer(观察者模式)、Visitor...

    33种JAVA设计模式DEMO

    这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象工厂模式...

    [Java设计模式(第2版)(Design.Patterns.in.Java).John.Metsker

    《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...

    Java设计模式之中介模式(Mediator模式)介绍

    主要介绍了Java设计模式之中介模式(Mediator模式)介绍,本文讲解了为何使用Mediator模式、如何使用中介模式等内容,需要的朋友可以参考下

    java设计模式教程+源代码

    AbstractFactory ( 抽象工厂 ) ...Mediator ( 中介者模式 ) Memento ( 备忘录模式 ) Observer ( 观察者模式 ) State ( 状态模式 ) Strategy ( 策略模式 ) TemplateMethod ( 模板方法 ) Visitor ( 访问者模式 )

    自己整理的java设计模式模式(袖珍版的哦)

    为了更好的网络共享 本人发布的资源一律免费 如有哪个收费了 请告知! 压缩包 包括常用的几种模式: ...设计模式袖珍版之-Mediator(中介者) 设计模式袖珍版之-Singleton(单态) 设计模式袖珍版之-Visitor

    用Java实现23种设计模式

    用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern)...

    Java设计模式之中介者模式(Mediator Pattern)简介

    主要介绍了Java设计模式之中介者模式(Mediator Pattern),需要的朋友可以参考下

    运用Mediator设计模式的登录对话框

    该案例改编自结城浩《设计模式-java语言中的应用》一书。 This is a program about a login dialog, wich try to illustrate the design pattern of Mediator. The program adapt from the book 《design pattern:...

    HeadFirst 设计模式java源代码

    至于第 14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、Chain of Responsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、...

    Head First 设计模式 JAVA源码

    至于第14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、ChainofResponsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、...

    23种java版设计模式源码案例.zip

    23种java版设计模式源码案例.zip 0.目录 创建型模式(creational) 简单工厂(simplefactory) 动态工厂(dynamic) 抽象工厂(abstract) 单例模式(singleton) 建造者模式(builder) 原型模式(prototype) 结构型模式...

    23种java设计模式

    3、行为模式:Iterator(迭代模式)、Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、 Mediator(中介模式)、Interpreter(解释器模式)、Strategy(策略模式)、State 、Observer...

    Mediator 中介模式Java版

    设计模式之中介模式的完整代码实现,Java版

    Java设计模式(含代码)

    Java设计模式 (含有相关源码) Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 Adapter:将一个类的接口转换成客户希望的另一个接口,使得原来由于接口不兼容而不能...

    java设计模式-组合模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...

    JAVA经典设计模式大全

    1.1 什么是设计模式 2 1.2 Smalltalk MVC中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 ...

    JAVA23种设计模式代码学习.zip

    获取到【文件夹】名称: mediator_pattern 获取到【文件夹】名称: memento_pattern 获取到【文件夹】名称: observer_pattern 获取到【文件夹】名称: prototype_pattern 获取到【文件夹】名称: proxy_pattern...

    java版本二十三种设计模式.zip

    - 23种设计模式 - 工厂方法模式(Factory Method) - 抽象工厂模式(Abstract Factory) - 单例模式(Singleton) - 建造者模式(Builder) - 原型模式(Prototype) - 代理模式(Proxy) - 适配器模式(Adapter) - 装饰...

Global site tag (gtag.js) - Google Analytics