22 行为模式 - 调停者(Mediator)模式

1.用意

调停者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以轻松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。

 

2.类图


 

3.代码

/*
 * 抽象同事类
 */
public abstract class Colleague {
	private Mediator mediator;

	public Colleague(Mediator m) {
		mediator = m;
	}

	public Mediator getMediator() {
		return mediator;
	}

	public abstract void action();

	public void change() {
		mediator.colleagueChanged(this);
	}
}

/*
 * 具体同事类1
 */
public class Colleague1 extends Colleague{
	public Colleague1(Mediator m) {
		super(m);
	}
	public void action() {
		S.s("This is an action from Colleague 1");
	}

}

/*
 * 具体同事类2
 */
public class Colleague2 extends Colleague{
	public Colleague2(Mediator m) {
		super(m);
	}
	public void action() {
		S.s("This is an action from Colleague 2");
	}
}


/*
 * 抽象调停者
 */
public abstract class Mediator {
	public abstract void colleagueChanged(Colleague c);

	public static void main(String args[]) {
		ConcreteMediator mediator = new ConcreteMediator();
		mediator.createConcreteMediator();
		Colleague c1 = new Colleague1(mediator);
		Colleague c2 = new Colleague2(mediator);
		mediator.colleagueChanged(c1);
	}

}


/*
 * 具体调停者
 */
public class ConcreteMediator extends Mediator {
	private Colleague1 colleague1;
	private Colleague2 colleague2;

	public void colleagueChanged(Colleague c) {
		colleague1.action();
		colleague2.action();
	}

	public void createConcreteMediator() {
		colleague1 = new Colleague1(this);
		colleague2 = new Colleague2(this);
	}

	public Colleague1 getColleague1() {
		return colleague1;
	}

	public Colleague2 getColleague2() {
		return colleague2;
	}
}
 

 

z

自动批量安装加载cran, bioconductor和github三个平台的所有的R包 阅读详情

相关推荐

搭建云平台 1 Day 虚拟机安装(超详细)

点击OFF 那个按钮看看网络的地址和速度有没有显示,如果有 则到目前为止都是成功的。Host name随便起一个名字就行了**-_-**文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**,如果我们安装的VMware14就会默认为。因为我的是VMware16,所以默认。也是可以的,但是千万不要用。

2401_84009679的博客 563

Mediator中介者模式/调停者模式-设计模式

Mediator中介者模式,又称调停者模式,实现了多个类之间交互的解耦。

phs999的博客 309

多机器人协同:水下机器人集群的分布式控制与ROS仿真实践

本文探讨了多自主水下机器人(AUV)集群的分布式控制方法,重点分析了欠驱动6自由度AUV模型的反馈线性化技术。通过ROS/Gazebo仿真平台,详细介绍了系统架构设计、通信延迟补偿策略及环境扰动应对方案,为水下协同作业提供实用参考。

jupi8的博客 688

【学习笔记】设计模式-调停者/中介者(Mediator)

文章目录0 设计模式1 调停者/中介者2 实现思路3 需要的类4 具体实现4.1 User(发送消息的实体)4.2 ChatRoom(中介类)4.3 测试类5 扩展多实体测试6 思维导图7 示例源码地址最后 0 设计模式 不了解设计模式的小伙伴可以通过这篇文章了解一下什么是设计模式 https://blog.youkuaiyun.com/qq_42874315/article/details/120006447?spm=1001.2014.3001.5502 1 调停者/中介者 在学习中介者模式之前建议先去阅读门面模式

五条的博客 715

afe模拟前端的重要性_高性能模拟前端信号链解决方案如何助力医疗超声系统发展...

1942年,奥地利TDussik使用A型超声成像系统穿透性探测颅脑,并于1949年获得头部的超声图像,此举昭示超声系统进入到医疗领域。直到如今,超声系统作为用于人体内部的无创可视化技术,被广泛用于医疗领域。最近一份报告称到2022年,中国医疗超声诊断仪器行业的市场规模预计将达到15.8亿美元,保持6%左右的年均增长率。高性能模拟信号链前端是超声设备的关键组成部分,作为高性能模拟技术主要的提供商AD...

weixin_28799111的博客 1091

【训练】Qwen2.5VL 多机多卡 Grounding Box定位

之前的相关文章:【深度学习】LLaMA-Factory微调sft Qwen2-VL进行印章识别使用LLaMA-Factory微调sft Qwen2-VL-7B-Instruct构建最新的LLaMA-Factory镜像。

q742971636的博客 2584

设计模式:Mediator Pattern(调停者模式)

设计模式应用场景 当对象之间的关系特别复杂时,完成一个业务势必要访问多个对象,那么我们可以定制一个门面来管理这些关系,使得业务简单化 实现方式

WindNolose的博客 250

Python多进程实战:用BaoStock高效下载股票历史数据的5个优化技巧

本文详细介绍了使用Python多进程技术通过BaoStock高效下载股票历史数据的5个优化技巧。从理解BaoStock的数据获取机制到进程池配置、智能任务分片、异常处理及性能监控,帮助开发者显著提升数据下载效率,特别适合量化交易领域的数据采集需求。

weixin_30369041的博客 461

《JAVA与模式》之调停者模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述调停者(Mediator)模式的:   调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。 为什么需要调停者   如下图所示,这个示意...

weixin_30487317的博客 276

AI应用架构师实战:高等教育智能课程推荐系统开发

性能:选课季并发量达1000QPS,推荐响应时间≤500ms(否则学生不耐烦)。数据隐私:符合《教育数据安全管理规范》,学生姓名、学号等敏感信息需匿名化存储。可扩展性:支持新增课程类型(如MOOC、实践课)、新增数据源(如竞赛获奖记录)。教育AI要“以教为中心”:不能纯技术驱动,要和教育工作者深度合作(如教师参与定义课程的前置关系)。数据是核心:数据质量决定推荐效果,要重视数据治理和隐私保护。持续迭代:教育需求是动态的(如每年新增课程、学生目标变化),要定期收集用户反馈,更新模型和策略。张三。

AI大模型应用之禅 1351

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式

jks212454的博客 627

调停者模式(Mediator)

调停者模式的意图:定义一个对象,封装一组对象的交互,菜农个人

修远的专栏 968

嵌入式编程模型 | 原型模式

本文介绍了原型模式在嵌入式传感器网络中的应用。原型模式通过复制现有对象创建新实例,避免了重复初始化开销,适用于设备配置克隆、状态复制等场景。文章以传感器网络为例,展示了原型模式的结构(抽象原型类、具体原型类、客户端)和实现方式,通过C语言代码演示了温度/湿度传感器的克隆过程。该模式能有效提升嵌入式系统资源复用效率,实现快速部署相似配置的传感器节点,同时保持内存优化和配置灵活性。

嵌入式大杂烩 148

13、Mediator 中介者(调停者)模式

用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。 类图 代码示例 我们使用一个例子来说明一下什么是同事类:有两个类A和B,类中各有一个数字,并且要保证类B中的数字永远是类A中数字的100倍。也就是说,当修改类A的数时,将这个数字乘以100赋给类B,而修改类B时,要将数除以100赋给类A。类A类B互相影响,就称为同...

sinat_37138973的博客 325

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Mediator

前两天介绍了几个不太常用的模式,终于迎来了Mediator。(Mediator 常用吗,也许只是感觉它更像一个模式罢了)下面到代码结束都是Copy来的,讨论在后面。调停者模式(中介模式):调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显作用。从而使他们可以松散偶合。当某些对象之间的作用发生改变时,不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立的变化。调停者模式将多...

weixin_30677475的博客 112

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C++ Java 23种设计模式的uml图表示及通俗介绍

创建型模式 1、FACTORY 2、BUILDER 3、FACTORY METHOD 4、PROTOTYPE 5、SINGLETON 结构型模式 6、ADAPTER 7、BRIDGE8、COMPOSITE 9、DECORATOR10、FACADE 11、FLYWEIGHT 12、PROXY 行为模式 13、CHAIN OF RESPONSIBLEITY 14、...

BlueBirdssh的专栏 732

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java常用设计模式

Java常用设计模式 目录 设计模式 1 创建模式 2 设计模式之Factory -工厂模式 2 设计模式之FACTORY METHOD -工厂方法模式 2 设计模式之Builder  -建造模式 4 设计模式之PROTOTYPE -原始模型模式 5 设计模式之Singleton -单例模式 6 结构模式 7 设计模式之Ada

wtxczwtxcz的专栏 740

抽丝剥茧设计模式-目录

Singleton单例提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

H.C. Lee的博客 1345

设计模式——中介者模式/调停者模式(C++实现)

1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 6 class Colleague; 7 8 class Mediator 9 { 10 public: 11 virtual void Se...

weixin_30300225的博客 200

常常回顾设计模式

Java常用设计模式 目录 设计模式 1 创建模式 2 设计模式之Factory -工厂模式 2 设计模式之FACTORY METHOD -工厂方法模式 2 设计模式之Builder -建造模式 4 设计模式之PROTOTYPE -原始模型模式 5 设计模式之Singleton -单例模式 6 结构模式 7 设计模式之Adapter -适配器 7 设计模式之Brid...

javaSamBlog 139

23种设计模式的uml图表示及通俗介绍

分类 图示版 大话版 0.分类 创建型模式 1、FACTORY   2、BUILDER  3、FACTORY METHOD  4、PROTOTYPE  5、SINGLETON 结构型模式 6、ADAPTER  7、BRIDGE 8、COMPOSITE  9、DECORATOR 10、FACADE  11、FLYWEIGHT  12、PROXY行为模式 13、CHAIN OF RE...

weixin_34319374的博客 149

23种设计模式通俗理解

23种设计模式通俗理解1、根据目的来分2、根据作用范围来分3、GoF的23种设计模式的功能1、FACTORY 工厂方法2、BUILDER建造者模式3、FACTORY METHOD抽象工厂4、PROTOTYPE 原型模式5、SINGLETON 单态模式6、ADAPTER 适配器模式7、BRIDGE 桥梁模式8、COMPOSITE合成模式9、DECORATOR装饰模式10、FACADE门面模式11、FLYWEIGHT享元模式12、PROXY代理模式13、CHAIN OF RESPONSIBLEITY责任链模式1

锋声的博客 414

java设计模式

1、FACTORY(工厂模式) 2、BUILDER(建造模式) 3、FACTORY METHOD(工厂方法模式) 4、PROTOTYPE(原始模型模式) 5、SINGLETON(单例模式) 6、ADAPTER(适配器模式) 7、BRIDGE(桥梁模式) 8、COMPOSITE(合成模式) 9、DECORATOR(装饰模式) 10、FACADE(门面模式) 11、FLYWEIGHT(享元模式) 12

宿命 宽恕 轮回 851

Java中23种设计模式详解

资源来源:http://hb.qq.com/a/20110818/000043.htm 【IT168 技术】通常,一个设计模式描述了一个被证实可行的方案。这些方案非常普遍,是具有完整定义的最常用的模式。一般模式有4个基本要素:模式名称(pattern name)、问题(problem)、解决方案(solution)、效果(consequences)。   常见的Java设计模式有以下23种:

暴风君的博客 665

JAVA设计模式

1、FACTORY(工厂模式) 2、BUILDER(建造模式) 3、FACTORY METHOD(工厂方法模式) 4、PROTOTYPE(原始模型模式) 5、SINGLETON(单例模式) 6、ADAPTER(适配器模式) 7、BRIDGE(桥梁模式) 8、COMPOSITE(合成模式) 9、DECORATOR(装饰模式) 10、FACADE(门面模式) 1...

tjmzgn 125

JAVA面试题(1~95)《上》

1、面向对象的特征有哪些方面?  答:面向对象的特征主要有以下几个方面:  - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。  - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性...

ywl470812087的博客 4965
上一篇: 21 行为模式 - 解释器(Interpreter)模式
下一篇: Dojo教程
O2AtomLife
博客等级 码龄19年 2粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值