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

装修素材的网站大全东莞专业的网站推广价格

装修素材的网站大全,东莞专业的网站推广价格,南坪网站建设,dota2海涛做的网站目录 一、 啥是中介者模式#xff1f;二、 为什么要用中介者模式#xff1f;三、 中介者模式的实现方式四、 中介者模式的优缺点五、 中介者模式的应用场景六、 总结 #x1f31f;我的其他文章也讲解的比较有趣#x1f601;#xff0c;如果喜欢博主的讲解方式#xff0c;… 目录 一、 啥是中介者模式二、 为什么要用中介者模式三、 中介者模式的实现方式四、 中介者模式的优缺点五、 中介者模式的应用场景六、 总结 我的其他文章也讲解的比较有趣如果喜欢博主的讲解方式可以多多支持一下感谢 了解观察者模式请看 (十 八)趣学设计模式 之 观察者模式 ✨更多请看个人主页 码熔burning 一、 啥是中介者模式 想象一下一个繁忙的机场 ✈️。 飞机之间不能直接通信而是通过空中交通管制员中介者来协调起飞、降落等操作。 中介者模式就像是这个空中交通管制员它负责协调多个对象之间的交互避免对象之间直接耦合。 中介者模式就是用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用从而使其耦合松散而且可以独立地改变它们之间的交互 。 简单来说就是找个“中间人”来协调多个对象之间的关系避免大家直接“吵架” 多个对象之间存在复杂的交互关系 就像多个飞机需要在机场协调起飞、降落 对象之间的耦合度很高 就像飞机之间直接通信一旦一个飞机出现问题可能会影响其他飞机 你需要集中控制对象之间的交互 就像需要空中交通管制员来统一协调飞机的行为 二、 为什么要用中介者模式 用中介者模式好处多多 解耦对象之间的关系 对象之间不需要直接引用而是通过中介者进行通信 简化对象之间的交互 将复杂的交互逻辑封装到中介者中使得对象更加简单 集中控制交互 可以方便地修改和扩展对象之间的交互逻辑 ⚙️提高代码的可维护性和可复用性 将交互逻辑集中管理使得代码更加清晰易懂 三、 中介者模式的实现方式 中介者模式主要包含两个核心概念 中介者Mediator 定义了一个接口用于与各个同事对象通信。它知道所有的同事对象并负责协调它们之间的交互 同事Colleague 定义了一个接口用于与中介者通信。它不知道其他的同事对象只知道自己的行为 ⚙️ // 抽象同事类用户public abstract class User {protected ChatRoom mediator; // 中介者protected String name;public User(ChatRoom mediator, String name) {this.mediator mediator;this.name name;}public abstract void send(String message); // 发送消息public abstract void receive(String message); // 接收消息public String getName() {return name;} }// 具体同事类普通用户public class ConcreteUser extends User {public ConcreteUser(ChatRoom mediator, String name) {super(mediator, name);}Overridepublic void send(String message) {System.out.println(this.getName() 发送消息: message);mediator.sendMessage(message, this); // 通过中介者发送消息}Overridepublic void receive(String message) {System.out.println(this.getName() 接收消息: message);} }// 抽象中介者聊天室public interface ChatRoom {void sendMessage(String message, User user); // 发送消息 }// 具体中介者具体聊天室public class ConcreteChatRoom implements ChatRoom {private ListUser users new ArrayList();public void register(User user) {users.add(user);}Overridepublic void sendMessage(String message, User user) {for (User u : users) {// 不发送给自己if (u ! user) {u.receive(message);}}} }// 客户端public class Client {public static void main(String[] args) {// 创建聊天室ConcreteChatRoom chatRoom new ConcreteChatRoom();// 创建用户User user1 new ConcreteUser(chatRoom, 张三);User user2 new ConcreteUser(chatRoom, 李四);User user3 new ConcreteUser(chatRoom, 王五);// 注册用户chatRoom.register(user1);chatRoom.register(user2);chatRoom.register(user3);// 用户发送消息user1.send(大家好);user2.send(今天天气不错);} }代码解释 User 类是抽象同事类定义了 send 和 receive 方法用于发送和接收消息。ConcreteUser 类是具体同事类实现了 User 类负责处理用户的具体行为。ChatRoom 接口是抽象中介者定义了 sendMessage 方法用于发送消息。ConcreteChatRoom 类是具体中介者实现了 ChatRoom 接口负责协调用户之间的消息传递。 输出结果 张三 发送消息: 大家好 李四 接收消息: 大家好 王五 接收消息: 大家好 李四 发送消息: 今天天气不错 张三 接收消息: 今天天气不错 王五 接收消息: 今天天气不错四、 中介者模式的优缺点 优点 解耦对象之间的关系 简化对象之间的交互 集中控制交互 ⚙️提高代码的可维护性和可复用性 缺点 中介者类可能会变得过于复杂难以维护 如果中介者出现问题可能会影响整个系统的运行 五、 中介者模式的应用场景 聊天室 用户之间通过聊天室进行通信 MVC 框架 控制器作为中介者协调模型和视图之间的交互 ️机场空中交通管制 协调飞机起飞、降落 ✈️智能家居系统 协调各种智能设备之间的交互 六、 总结 中介者模式就像“中间人”协调多个对象之间的关系避免大家直接“吵架” 核心概念包括中介者和同事 优点是解耦对象之间的关系、简化对象之间的交互、集中控制交互、提高代码的可维护性和可复用性 缺点是中介者类可能会变得过于复杂难以维护、如果中介者出现问题可能会影响整个系统的运行 适用于多个对象之间存在复杂的交互关系并且对象之间的耦合度很高的场景 希望这篇文章能让你彻底理解中介者模式 祝你学习愉快 看完请看(二 十)趣学设计模式 之 迭代器模式
http://www.w-s-a.com/news/522354/

相关文章:

  • 网站如何做友情链接有道云笔记WordPress
  • 贵阳企业网站建设制作赤峰浩诚网站建设公司
  • asp官方网站微信模板素材
  • wordpress 留言给站长发邮件做百度推广员赚钱吗
  • 北京建站公司做网站价格专门找人做软件的网站
  • 商务网站的特点ui软件界面设计
  • 广州个性化网站开发网站索引量是什么意思
  • 公司网站制作专业公司python做后台网站的多吗
  • 桂林建站平台哪家好给别人做网站怎么收取费用
  • python做网站显示表格用visual做的网站
  • 彩票网站建设需要什么聊城网站建设首选天成网络
  • 安徽建设工程网站wordpress标签云代码
  • 推荐佛山顺德网站建设手机网站建设域名空间
  • 电子商务网站建设策划书例子企业官网用什么cms系统
  • 网站栏目设计怎么写平面设计接单报价表
  • 做网站美工要学什么网站推广的方法包括
  • 哪个网站可以做笔译兼职wordpress加表单
  • 百度站内搜索 wordpress微餐饮建站费用
  • 用什么做网站的访问量统计制作手工作品
  • 微信公众号搭建网站河南卫生基层系统网站建设
  • steam账号注册网站重庆手机版建站系统哪家好
  • 中新生态城建设局门户网站wordpress云盘视频播放
  • 大型网站开发基本流程wordpress记录用户搜索
  • 云服务器安装win系统做网站wordpress边栏扩大尺寸
  • 网站开发面试自我介绍软件下载网站如何建设
  • 可以做翻译任务的网站陕西省建设厅八大员证
  • 昆明 网站推广重庆网页优化seo公司
  • 网站排名下降怎么上去设计一套app页面多少钱
  • 专门用来查找网址的网站查公司名字是否被注册
  • 自己创建网站教程河南省建设厅官方网站李学军