`
lovang
  • 浏览: 29120 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • leayaya: 建议示例再做一下处理,比如实现和对象的操作换一下
    模式Bridge

模式Mediator

    博客分类:
  • java
阅读更多
设计模式之Mediator(中介者)
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 中介者 c++

    中介者模式的完整代码。 程序默认使用vs开发。其他开发工具可能需要做少许调整。

    mediator模式

    **中介者模式(Mediator Pattern)** 中介者模式是一种行为设计模式,它的主要目标是减少对象之间的耦合性,通过引入一个中介对象来协调多个对象之间的交互。在传统的多对象交互场景中,对象之间可能存在复杂的依赖...

    Mediator模式

    **Mediator模式** Mediator模式是一种行为设计模式,它定义了一个用来封装一系列对象相互作用的接口,使得这些对象不必显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。这种模式在软件开发...

    设计模式之中介者模式(Mediator)

    **中介者模式(Mediator)详解** 在软件工程中,设计模式是一种被广泛采用的解决常见问题的经验总结,其中中介者模式是结构型设计模式的一种。它的主要目标是降低对象之间的耦合度,使得对象之间的关系更加清晰,...

    C++ Mediator模式

    **C++ Mediator模式详解** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图,它提供了一种在不违反面向对象原则的前提下,提高代码可复用性和可维护性的方法。Mediator模式是其中的一种行为模式...

    javascript设计模式之中介者模式Mediator

    中介者模式(Mediator)是设计模式的一种,主要用于降低多个对象之间的复杂交互。在JavaScript中,当多个对象之间存在复杂的依赖关系,导致类之间的耦合度增加时,中介者模式可以提供一个解决方案。通过引入一个中介...

    php设计模式 Mediator (中介者模式)

    中介者模式(Mediator Pattern)是一种行为设计模式,它的主要目的是降低多个对象或类之间的通信复杂性。在软件工程中,当多个对象之间存在复杂的相互依赖关系时,维护这些关系可能会变得困难。中介者模式通过引入一...

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

    **设计模式之中介者模式(Mediator Pattern)** 在软件工程中,设计模式是一种解决常见问题的经验总结,它提供了一种可复用的解决方案。中介者模式是行为设计模式之一,其主要目的是降低多个对象之间的复杂性,通过...

    设计模式原理与应用之行为模式.pptx

    本文将对行为模式的原理和应用进行详细的介绍,包括职责链模式、命令模式、解释器模式、迭代器模式、mediator模式、备忘录模式、观察者模式、状态模式、策略模式、模板模式和访问者模式等。 Chain of ...

    C++设计模式.pdf

    Mediator模式用一个中介对象来封装一系列的对象交互,使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 #### Command模式 Command模式将一个请求封装为一个对象,从而使你...

    设计模式精解-GoF23种设计模式解析附C实现源码.pdf

    Mediator模式用一个中介对象来封装一系列的对象交互,使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 #### 3.7 Command模式 Command模式将请求封装为一个对象,从而使你...

    (行为型模式) Mediator 中介者模式

    C#面向对象设计模式 (行为型模式) Mediator 中介者模式 视频讲座下载

    C++面向对象23种设计模式实现源码DesignPattern.zip

    18.调停者模式Mediator展示了如何通过一个仲裁者类来处理对象间的交互,避免对象之间直接相互依赖。 5. **观察者模式(Observer Pattern)**:观察者模式是一种发布-订阅模式,当一个对象的状态发生改变时,所有...

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码.pdf

    Mediator模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 #### Command模式 Command模式将一个请求封装为一个对象,从而使...

Global site tag (gtag.js) - Google Analytics