当前位置: 首页 > news >正文

设计模式 -- 中介者模式

前言

月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂)

央是一片海洋,海乃百川,代表着一块海绵(吸纳万物)

泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出)

月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容

希望大家一起坚持这个过程,也同样希望大家最终都能从零到零,把知识从薄变厚,再由厚变薄!

一、什么是中介者模式?

        中介者模式是一种行为设计模式,它允许对象之间通过一个中介对象进行通信,而不需要直接相互引用。这种模式有助于减少对象之间的耦合性,从而提高应用程序的可维护性和可扩展性。

        中介者模式的核心是中介者对象,它负责协调对象之间的交互。当一个对象需要与另一个对象通信时,它会将消息发送给中介者对象,中介者对象会将消息传递给目标对象。这种方式可以隐藏对象之间的实现细节,并允许对象之间的交互变得更加灵活。

二、中介者模式的优缺点:

优点:

  1. 减少类之间的耦合:中介者模式可以将对象间的交互通过中介者来进行,从而降低了对象之间的耦合度,使得系统更加灵活,易于维护和扩展。

  2. 简化对象的相互关系:中介者模式可以将对象之间的复杂关系简化为中介者与各个对象之间的简单关系,使得系统更加清晰。

  3. 降低系统的复杂度:中介者模式可以将系统复杂的对象之间的交互转化为中介者与各个对象之间的简单交互,从而降低了系统的复杂度。

缺点:

  1. 中介者对象成为系统的瓶颈:中介者对象在处理大量消息时可能会成为系统的瓶颈,因为所有消息都必须经过它。

  2. 可能会导致紧密耦合的关系:如果中介者对象的实现不当,可能会导致系统中的对象之间出现紧密耦合的关系,从而降低系统的灵活性和可维护性。

三、中介者模式的结构:

 

四、中介者模式实战:

1.创建抽象中介者

2.创建具体中介者

 

3.创建抽象伙伴类

 

4.创建具体伙伴类

 

 

5,测试

 

6.结果:

 

 

五.总结:

中介者模式的应用场景:

  1. 聊天室:聊天室中的用户之间需要通过中介者来进行通信。

  2. 航空控制系统:航空控制系统中的飞机和塔台需要通过中介者来进行通信。

  3. MVC框架:MVC框架中的控制器充当中介者的角色,将视图和模型进行通信。

  4. GUI设计:GUI设计中的窗口和组件需要通过中介者来进行通信。

  5. 多人游戏:多人游戏中的玩家需要通过中介者来进行通信。

http://www.lryc.cn/news/66484.html

相关文章:

  • 人工智能的未来之路:语音识别的应用与挑战
  • c++ 友元介绍
  • 四维轻云地理空间数据在线管理软件能够在线管理哪些数据?
  • 学习 GitHub 对我们有什么好处?
  • java记录-反射
  • 这次彻底不需要账号了,无需魔法永久白嫖GPT
  • 远程桌面连接是什么?如何开启远程桌面连接详细教程
  • lua实战(2)
  • UI自动化测试案例——简单的Google搜索测试
  • C++之虚函数原理
  • Windows Information Protection(WIP)部署方案
  • 细说Hibernate的缓存机制
  • 初识C++之线程库
  • ChatGLM-LLaMA-chinese-insturct 学习记录(含LoRA的源码理解)
  • JuiceFS-K8s部署
  • 2023最新版本Camtasia电脑录屏软件好不好用?
  • 第三章 Linux 初步
  • linux环境安装使用mysql详解
  • SUNTANS模型学习(9)——学习Tidal forcing算例
  • ​力扣解法汇总1010. 总持续时间可被 60 整除的歌曲
  • 利用老毛桃pe启动U盘启动ubuntu.iso,完成ubuntu系统的安装
  • 分享2个教学视频录制的方法!
  • 「SQL面试题库」 No_63 报告的记录 II
  • 【事务】怎么去理解事务?
  • camunda流程变量如何使用
  • CMIP6:WRF模式动力降尺度、单点降尺度、统计方法区域降尺度
  • 2023建筑设计师们有哪些好用的AI设计工具?
  • mysql主从复制与读写分离
  • 技术控,看这里,一款支持断点调试的数据科学工具
  • 论文导读 | 大语言模型上的精调策略