只有一个仲裁者

Mediator 模式

组员向仲裁者报告,仲裁者向组员下达指示,组员之间不在相互询问和相互指示。

要调整多个对象之间的关系时,就需要用到 Mediator 模式。将逻辑处理交给仲裁者执行。

示例程序

名字 说明 角色
Mediator 定义“仲裁者”的接口的接口 Mediator
Colleague 定义“组员”的接口的接口 Colleague
ColleagueButton 表示按钮的类。它实现了 Colleague 接口 ConcreteColleague
ColleagueTextField 表示文本输入框的类。它实现了 Colleague 接口 ConcreteColleague
ColleagueCheckbox 表示单选框的类。它实现了 Colleague 接口 ConcreteColleague
LoginFrame 表示登录对话框的类。它实现了 Mediator 接口 ConcreteMediator
Main 测试程序行为的类  

Mediator.java

 package mediator;

 public interface Mediator {     public abstract void createColleague();     public abstract void colleagueChanged(); }

Colleague.java

 package mediator;

 public interface Colleague {     public abstract void setMediator(Mediator mediator);     public abstract void setColleagueEnabled(boolean enabled); }

ColleagueButton.java

 package mediator;

 import java.awt.*;

 public class ColleagueButton extends Button implements Colleague {     private Mediator mediator;     public ColleagueButton(String caption) {         super(caption);    }     public void setMediator(Mediat

16、Mediator 仲裁者模式相关推荐

  1. 设计模式笔记 16. Mediator 中介者模式(行为型模式)

    16. Mediator 中介者模式           2008-09-09 动机(Motivation) 在软件构建过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维持一种复杂的引用关 ...

  2. 浅谈Mediator仲裁者模式

    一.前言 Mediator模式又称为仲裁者模式或中介者模式,所起的作用就是仲裁和中介,帮助其它类之间进行交流.在仲裁者模式之中,我们要明确两个概念,那就是仲裁者(Mediator)和组员(Collea ...

  3. 每日学一个设计模式16——仲裁者模式

    仲裁者模式(只有一个仲裁者) 用处 组员向仲裁者报告,仲裁者向组员下达指令.避免互相指挥,意见难以统一导致工作进度滞后. 角色 Mediator(仲裁者) 该角色负责定义与Colleague角色进行通 ...

  4. 设计模式----仲裁者模式(Mediator Pattern)例题

    我昨天说今天要写啥来着...算了随便写一个仲裁者模式(因为要交orz 仲裁者模式,又叫中介者模式,就是定义一个对象,用来封装一组对象交互关系的实现,以降低交互对象显式调用耦合,使之自由变化. 仲裁者模 ...

  5. C++设计模式-Mediator中介者模式

    Mediator中介者模式 作用:用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互. UML如下: Colleage抽象同事 ...

  6. [导入]C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式.zip(8.75 MB)...

    讲座内容: 本培训课程探讨GoF23之 Mediator 中介者模式的意图.动因.原理.应用场景与C#语言实现,以及该模式在.NET框架程序设计中的具体应用. 课程讲师: 李建忠 上海祝成信息科技有限 ...

  7. java mediator模式_设计模式之Mediator 中介者模式 - 解道Jdon

    设计模式目录 >> 当前页 设计模式之Mediator(中介者) 板桥里人 http://www.jdon.com 2002/05/05 Mediator中介者模式定义: 用一个中介对象来 ...

  8. 设计模式——Mediator(中介者)模式

    目录 前言 1 定义 2 适用性 3 结构 3.1 结构图 3.2 参与者 4 应用举例--以房产中介为例 4.1 Mediator--HouseMediator 4.2 具体Mediator--Be ...

  9. ubuntu 16.04 kvm 桥接模式创建虚拟机

    我的环境 宿主机ubuntu 16.04 desktop 虚拟机1 centos 7.4 server ip: 10.0.0.201 hostname: node201 虚拟机2 centos 7.4 ...

最新文章

  1. 论场景在研发中的重要性
  2. PCB 电子线路板制作流程
  3. 好程序员web前端分享MVVM框架Vue实现原理
  4. 一个操作系统的实现(3)
  5. python 执行shell_python执行shell命令的方法
  6. c语言学习-将一个2*3的矩阵转置为3*2的矩阵
  7. c语言两个文件一起编译,keil中怎么把两个c程序怎么同时同时编译生成一个hex文件...
  8. color是css3新增属性吗,CSS进阶篇--你用过css3的这个currentColor新属性吗?使用与兼容性...
  9. 为什么要编写轻量级的View Controller??
  10. java电驴_java写的电驴下载完成关机小程序
  11. go导出mysql中的excel表_golang web 开发 从数据库 导出到excel案例
  12. 如何将gif动图分解成png格式?动图分解器如何使用?
  13. 嵌入式开发培训靠谱吗,嵌入式开发培训怎么样?
  14. 路由器网口1一直闪烁正常吗_路由器灯怎么闪才正常
  15. 商鞅(约公元前395年-公元前338年)
  16. 2022开源社区app源码多端圈子社区论坛系统
  17. 个人所得税的计算表格
  18. 海康威视2022 校招/社招/实习 内推WHM8BQ
  19. MySql简单入门_第四篇 高级使用(4)_触发器
  20. java memcached incr_Redis与Memcached的incr/decr差异对比

热门文章

  1. 从Q9XXX系统CPU看温度过高问题
  2. hdmi怎么支持2k分辨率_27寸2k分辨率的护眼显示器推荐:飞利浦275E9使用测评
  3. 特斯拉设计师评苹果造车:痴人说梦,缺乏创新
  4. idea output 窗口悬浮
  5. 51单片机学习:LED闪烁实验
  6. 51单片机入门学习 第六天
  7. 案例07:金字塔+纹理
  8. 第三方登陆--QQ登陆
  9. 月租最便宜的手机卡_月租最高不超过10元!最适合当副卡的手机卡套餐全在这了...
  10. python画圣诞树代码解读_使用Python画了一棵圣诞树的实例代码