Mediator - 中介者模式

概述:

只有一个仲裁者,组员向仲裁者报告,仲裁者向组员传达指示

Mediator_sample


说明:

1.本文仅仅是对 图解设计模式 的简单总结(个人笔记).
2.文章中的图片均来自本书,添加水印只是为了防止盗链行为,并无侵权的想法.
综上,若侵权, 请联系删除!
转载请标注出处!


案例:

  • 案例说明:

    示例程序是一个GUI应用程序,他展示了一个登录对话框,用户在其中输入正确的用户名和密码后可以登录

  • 类图:

  • Mediator_uml_case

  • 主要代码:

  • Mediator.java

    package Gof.Mediator;
    public interface Mediator {
        public abstract void createColleagues();
        public abstract void colleagueChanged();
    }
    
  • 时序图:

  • uml_case_sentense

  • 代码链接:传送门

    uml综述Mediator_uml

  • Mediator(仲裁者):定义与colleague角色进行通信和做出决定的接口

  • ConcreteMediator: 实现Mediator角色的接口

  • Colleague: 负责定义与Mediator角色通信的接口

  • ConcreteColleague: 实现colleague定义的接口

收获:

  • Mediator应用条件:处理多个对象之间的关系,将控制显示的逻辑交给仲裁者负责
  • 当发生分散灾难时,秩序处理Mediator中使用的方法即刻
  • ConcreteColleague角色可以复用,而ConcreteMediator很难复用

    相关设计模式:

  • Observer: 有时会使用observer实现Mediator与Colleague的通信
  • 依赖于特定应用程序就意味着难以复用

注意:

此部分内容属于对GOF Design Pattern知识的初步认知阶段,参考书籍是结城浩的《图解设计模式》,简单易懂,十分推荐!
以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!

PS:欢迎大家来到我的小站,鸣谢!