十、中介者模式

【Java设计模式】Java设计模式之(十)中介者模式(Mediator Pattern) 所有设计模式的代码实现例子都可在码云上查看哦,感兴趣的可以查看哈,码云地址:https://gitee.com/no8g/java-design-patterns 阅读详情

中介者模式:用一个中介对象来封装一系列的对象交互。中介者使得对象不需要相互的引用,从而使其耦合松散,可以独立的改变他们之间的交互。

#include<iostream>
#include<string>
using namespace std;
class Country;
//抽象类  联合国
class UN
{
public:
	virtual void delcare(string message , Country *m_country){}
	virtual void initcountry(Country*s1,Country*s2){};
};
//国家
class Country
{
protected:
	UN *m_un;
public:
	Country(UN* name):m_un(name){}
	virtual void delcare(string m_message){}

};
//美国
class USA:public Country
{
public:
	USA(UN* name):Country(name){}
	void delcare(string message)
	{
		cout<<"美国: "<<message<<endl;
	}
};
//伊拉克
class Iraq:public Country
{
public:
	Iraq(UN* name):Country(name){}
	void delcare(string message)
	{
		cout<<"伊拉克:"<<message<<endl;
	}
};

//安理会
class Security:public UN
{
private:
	Country *m_usa;
	Country *m_iraq;

public:
	
	void initcountry(Country*s1 , Country*s2)
	{
		m_usa = s1;
		m_iraq = s2;
	}
	

	void delcare(string message , Country *m_country)
	{
		if(m_country==m_usa)
		{
			m_usa->delcare(message);
		}
		else
		{
			m_iraq->delcare(message);
		}
	}
};


int main()
{
	UN *m_sec = new Security();//创建安理会
	Country*country_usa = new USA(m_sec);//创建美国
	Country*country_iraq = new Iraq(m_sec);//创建伊拉克,美国和伊拉克有共同的中介者:安理会,m_sec
	m_sec->initcountry(country_usa,country_iraq);


	m_sec->delcare("我要干死你" , country_usa);
	m_sec->delcare("来呀,cnm,互相伤害呀" , country_iraq);


	cout<<endl<<endl;
	return 0;
}
欧姆龙485通讯示例程序_【精品实验】PLC学习神器与温湿度变送器的通讯 BFH点击蓝字关注我们↑↑↑↑  PLC学习神器提供RS485接口,可支持无协议RS指令、无协议RS2指令、Modbus通讯功能,可通过设置通讯格式改变通讯协议,RS485对应的通讯格式地址是D8400;  本案例以RS485接口与温湿度变送器通讯,通讯格式如下一温湿度变送器的说明书介绍1.1主要技术参数1.2 通讯协议 1、所有通讯回路都应遵照主/从方式。依照主从方式,数据可以在一个主... 阅读详情

相关推荐

Nestjs框架: 集成 Prisma

NestJS官方文档提供了两种数据库相关的内容:Techniques下的数据库板块和Recipes下的具体数据库集成方案。本文以Prisma为例,演示了如何集成Prisma到NestJS项目中。首先创建NestJS项目并安装Prisma,配置MySQL数据库连接。通过Prisma CLI初始化项目、定义数据模型并生成迁移文件。接着创建Prisma模块和服务,配置Prisma客户端连接数据库。最后在控制器中注入PrismaService实现数据查询。整个过程包含了Docker启动MySQL、Prisma模型定

Wang的专栏 1296

【大话设计模式】模式十:中介者模式

【引入】 国与国之间的关系,类似于对象与对象之间的关系,这就要求对象之间需要知道其他所有对象。但是对象之间大量的链接使得一个对象不可能在没有其他对象支持下工作,系统表现为一个不可分割的整体,降低其可复用性。 这里提及一下 迪米特法则(即两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用) 如果一个类要调用某个类的方法,可以通过第三方转发这个的调用。正如国与国之间,可以通过联合国这个中介者来发生相互通信。

m0_46013789的博客 3794

避坑指南:SAP CO模块维护成本控制范围的5个常见错误及解决方法

本文深入剖析了SAP CO模块中维护成本控制范围时最易犯的5个常见错误,包括货币参数配置不当、标准层次结构缺失、财政年度变式不一致、功能激活遗漏及集成参数设置错误。重点针对事务码OKKP的配置,提供了详细的排查步骤与实战解决方案,帮助顾问有效规避陷阱,确保成本核算体系稳定运行。

stone的博客 234

中介者模式(十)

一、引子1.场景模拟    假设有一家商店。采购员负责采购商品,销售负责出售商品,商店的库存负责存储商品。他们彼此都存在一定的依赖关系,那么他们之间的关系大致可以如下图描述:2.场景扩大    我们知道迪米特法则认为“每个类只和朋友类交流”,然而这个朋友类并非越多越好,朋友类越多,耦合性越大,想要修改一个就得修改一片。这不是我们所期望的。    上面那个场景还很简单,假如我们再扩大一点,引入供应商...

阿飞的博客 655

如何把DeepSeek这个奈斯工具接入到Pycharm里

DeepSeek接入到Pycharm中,提高编程效率,以及帮助解决遇到的问题。

学无止境,何以言满 2624

Fluent求解器——湍流参数的设置

Fluent湍流参数的介绍和设置。

Ronko_G的博客 4万+

设计模式(十)中介者模式C++

中介者模式 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 介绍 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 主要解决:对象与对象之间存在大量的关联关...

开发笔记 219

PostgreSQL+Citus分布式集群实战:从零搭建到性能调优

本文详细介绍了如何从零开始搭建并优化PostgreSQL+Citus分布式数据库集群。内容涵盖集群规划、源码编译安装、Citus扩展部署、节点配置、分布式表创建以及核心性能调优策略,为应对海量数据增长提供了完整的部署指南和实战解决方案。

oo7890的博客 629

(十 九)趣学设计模式 之 中介者模式!

中介者模式就像“中间人”,协调多个对象之间的关系,避免大家直接“吵架”!🤝

qq_56158663的博客 1630

【论文+CAD图纸】光储充一体化微电网设计

近些年来,我国的经济发展迅速,对能源的需求不断增长,也加重了对环境的破坏,违背了我国的可持续发展战略。所以迫切需要寻找新型能源。由于太阳能在使用时不会产生污染,所以太阳能逐渐受到人们的重视。我国的太阳能资源丰富,具有的开发利用潜力。特别是近些年“光储充”一体化充电站为高科技绿色充电模式,“以光养桩”使光伏、储能、智能充电协同,智能微电网与公共电网互动,本设计对探索清洁可再生能源在民用场合的应用,有着重大的理论和工程价值。本文综述国内外相关光伏发电的成果和发展现状;

weixin_761237174的博客 927

【教程4>第1章>第12节】通过Verilog读取txt格式数据进行测试并将结果导入到matlab

我们在verilog的testbench中,调用txt文件,将上述正弦样本数据作为测试激励输入到verilog模块中。通过这个方法,可以将一些较为复杂的数据导入到verilog中,进行FPGA数据处理模块的开发。即通过w方式打开一个新的txt文件,然后将verilog的输出保存到XY1.txt文件中。这个部分是txt文件的路径,实际使用时,修改为您自己的路径,或者将txt文件放在和我一样的路径中。这个是数据长度,matlab产生的txt多少长度,这个参数就修改为多少长度。这个txt就是保存这段数据的文件。

FPGA/MATLAB学习教程/源码/项目合作开发 1390

设计模式学习(十)中介者模式

文章目录介绍类图说明代码示例应用场景优缺点优点缺点 介绍 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 类图说明 这里我们列举一个购买以及出售二手车的例子,刚开始购买二手车,增加库存,而后开始销售二手车。不难看出,购买、销售以及库存之间的关系是两两相关的,这样子的关系图是比较复杂,也不符合迪米特法则,所以加入了中介者。在类图中我们定义一个抽象中介对象,该

he_cha_bu的博客 554

【PointNet++】使用Open3D对分割后的结果可视化

PointNet++中的局部分割网络预测后是没有可视化文件的,所以需要自己通过编写Open3D或者PCL点云算法去可视化,在本人经过查找翻阅修改后,实现了网络输出点云分割后结果的可视化。已实现推测单个点云,并可视化。

纵马踏花向自由 2455

行为型模式之十:中介者模式

为什么80%的码农都做不了架构师?>>> ...

weixin_34010566的博客 83

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

iOS中的设计模式(十)- 中介者模式(从播放器场景理解中介者模式)

本文通过iOS视频播放器的业务场景,演示了中介者模式的实际应用。在不使用中介者时,ControlBarView需要直接调用PlayerView、SubtitleView等多个对象,导致强耦合和逻辑分散。引入PlaybackMediator中介者后,各组件只需与中介者通信,实现了组件解耦和业务逻辑集中管理。文章指出中介者模式能有效解决类间强耦合问题,但要避免中介者膨胀为"上帝对象",建议按业务拆分多个中介者。该模式适用于类间交互复杂、改动影响面广的场景,是控制复杂度的有效手段。

weixin_39339407的博客 909

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

十、设计模式(18)中介者模式(Mediator)

源文作者: 作者:朱小厮 来源:优快云 原文:https://blog.youkuaiyun.com/u013256816/article/details/50975438 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互。 一、中介者模式中的角色 抽象中介者(Mediator):定义了同事对象到中介者对象之间的接...

M_azed的博客 493

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java设计模式之十 ---- 访问者模式和中介者模式

前言 2018年已经过去,新的一年工作已经开始,继续总结和学习Java设计模式。 在上一篇中我们学习了行为型模式的解释器模式(Interpreter Pattern)和迭代器模式(Iterator Pattern)。本篇则来学习下行为型模式的两个模式,访问者模式(Visitor Pattern)和中介者模式(Mediator Pattern)。 访问者模式 简介 访问者模式(Visi...

weixin_33835103的博客 96

大话设计模式-----(十)职责链模式、中介者模式

职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。就像我找版主申请请假,但是请假时间过长那么就要找导员请假才行。如果更长那么就要找院领导才能请假。一直传递这个请求。一直到他的权限能够处理这件事定义一个抽象处理请求的抽象类//抽象一个处理请求的接口abstract class Handler{

Recar的博客 764

Java进阶篇设计模式之十 ---- 访问者模式和中介者模式

前言 观察者模式 策略模式

虚无境的博客 1329

中介者模式

中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。 介绍 意图:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 主要解决:对象与对象之间存在大量的关联关系,这样势必会导致系...

ThinkWon的博客 4742

JAVA中介者模式

JAVA中介者模式 1、前言 2、中介者模式的概念 3、中介模式的UML图 4、中介模式的实现 5、中介模式的优缺点以及使用的场景 6、总结 1、前言 中秋快乐,哈哈晚了一天说这句话!本来按道理我22号就应该把关于设计模式的博客写完。但是你知道的,我老是给自己放假。于是,中秋佳节,我就和我的小伙伴们打了三天撸。非常开心,感觉自己都活过来了!不过这个月还是要把设计模式的搞完嘞。 ...

帅哥威的博客 1818

设计模式之中介者模式详解

想象一下一个繁忙的机场控制塔,数十架飞机需要起飞、降落、滑行,如果没有这个控制塔作为协调中心,飞机之间直接通信将会多么混乱!中介者模式就像这个机场控制塔,它通过引入一个中介对象来封装一系列对象之间的交互,使这些对象不再显式地相互引用,从而降低它们之间的耦合度。 今天我们就来深入探讨这个在复杂系统中非常实用的设计模式。在实际开发中,当多个类之间存在复杂的网状交互关系时,中介者模式能帮助我们简化系统结构,提高代码的可维护性。

从不水文,坚持创作,加油 2018

C# 中介者模式

中介者模式(Mediator Pattern)是一种行为设计模式,它允许一组对象相互通信,而不需要知道彼此的内部结构。通过引入一个中介者对象,将原本对象之间的直接交互转化为与中介者对象的交互,从而降低了对象之间的耦合度,使得系统更加灵活和易于维护。这种模式特别适用于对象之间存在大量复杂交互关系的场景。

語衣的个人博客 1147

学习设计模式《九》——中介者模式

 中介者模式的本质是【封装对象之间的交互】;

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1389
上一篇: 十一、职责链模式
下一篇: InvokeRequired和Invoke
越甲八千
博客等级 码龄11年 2959粉丝 553原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值