首页 > 代码库 > 设计模式之中介者模式

设计模式之中介者模式

1、中介者模式的简介:

    

    a、中介者模式的核心:

    -  如果一个系统中对象之间的联系是呈现为网状结构,对象之间存在大量多对多关系,将导致关系极其复杂,这些对象称为“同事对象”。

    -  我们可以引入一个中介者对象,使各个同事对象只跟中介者对象打交道,将复杂的网络结构解为如下的星型结构。

    

技术分享


    b、模式中主要的类介绍:

    -  Mediator 抽象中介者:定义了同事对象到中介者对象的接口。

    -  ConcreteMediator 具体中介者对象:实现抽象类的方法,它需要知道所有具体同事类,并从具体同事接收消息,向具体同事对象发出命令。

    -  Colleague:抽象同事类

    -  ConcreteColleague:具体同事类,每个具体同事只知道自己的行为,而不了解其他同事类的情况,但它们却都认识中介者对象。


2、简单的代码演示:


    a、Department 接口是抽象的同事类,Development、Markert、Finacial 类是具体的同事类,Persident 类是具体的中介者类。


技术分享


技术分享


技术分享


技术分享


技术分享


技术分享


    b、看看 Client14 测试类中输出的结果,以及示例代码中的类图关系。


技术分享

技术分享


3、开发中常见的场景:

    -  MVC 模式(其中的 C,控制器就是一个中介者对象。M 和 V 都和他打交道。)

    -  窗口游戏程序,窗口软件开发中窗口对象也是一个中介者对象。

本文出自 “12392717” 博客,请务必保留此出处http://12402717.blog.51cto.com/12392717/1929485

设计模式之中介者模式