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

昆明网站建设公司排行品牌推广活动有哪些

昆明网站建设公司排行,品牌推广活动有哪些,wordpress 分享类主题,网站大部分都是jsp做的目录 一、 啥是中介者模式?二、 为什么要用中介者模式?三、 中介者模式的实现方式四、 中介者模式的优缺点五、 中介者模式的应用场景六、 总结 🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,…

在这里插入图片描述

目录

    • 一、 啥是中介者模式?
    • 二、 为什么要用中介者模式?
    • 三、 中介者模式的实现方式
    • 四、 中介者模式的优缺点
    • 五、 中介者模式的应用场景
    • 六、 总结

🌟我的其他文章也讲解的比较有趣😁,如果喜欢博主的讲解方式,可以多多支持一下,感谢🤗!
🌟了解观察者模式请看: (十 八)趣学设计模式 之 观察者模式!
✨更多请看个人主页: 码熔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 List<User> 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 类是抽象同事类,定义了 sendreceive 方法,用于发送和接收消息。
  • ConcreteUser 类是具体同事类,实现了 User 类,负责处理用户的具体行为。
  • ChatRoom 接口是抽象中介者,定义了 sendMessage 方法,用于发送消息。
  • ConcreteChatRoom 类是具体中介者,实现了 ChatRoom 接口,负责协调用户之间的消息传递。

输出结果

张三 发送消息: 大家好!
李四 接收消息: 大家好!
王五 接收消息: 大家好!
李四 发送消息: 今天天气不错!
张三 接收消息: 今天天气不错!
王五 接收消息: 今天天气不错!

四、 中介者模式的优缺点

优点:

  • 解耦对象之间的关系 🤝!
  • 简化对象之间的交互 💫!
  • 集中控制交互 ⚙️!
  • 提高代码的可维护性和可复用性 💡!

缺点:

  • 中介者类可能会变得过于复杂,难以维护 😫!
  • 如果中介者出现问题,可能会影响整个系统的运行 🤯!

五、 中介者模式的应用场景

  • 聊天室: 用户之间通过聊天室进行通信 💬!
  • MVC 框架: 控制器作为中介者,协调模型和视图之间的交互 🖼️!
  • 机场空中交通管制: 协调飞机起飞、降落 ✈️!
  • 智能家居系统: 协调各种智能设备之间的交互 🏠!

六、 总结

  • 中介者模式就像“中间人”,协调多个对象之间的关系,避免大家直接“吵架”! 🤝
  • 核心概念包括中介者和同事! 🔑
  • 优点是解耦对象之间的关系、简化对象之间的交互、集中控制交互、提高代码的可维护性和可复用性! 👍
  • 缺点是中介者类可能会变得过于复杂,难以维护、如果中介者出现问题,可能会影响整个系统的运行! 👎
  • 适用于多个对象之间存在复杂的交互关系,并且对象之间的耦合度很高的场景! 🎯

希望这篇文章能让你彻底理解中介者模式! 💯 祝你学习愉快! 😄
看完请看:(二 十)趣学设计模式 之 迭代器模式!


文章转载自:
http://mistle.fzLk.cn
http://corea.fzLk.cn
http://laundrywoman.fzLk.cn
http://lent.fzLk.cn
http://planosol.fzLk.cn
http://puttyroot.fzLk.cn
http://telescopically.fzLk.cn
http://crustless.fzLk.cn
http://renovate.fzLk.cn
http://gentelmancommoner.fzLk.cn
http://eightpenny.fzLk.cn
http://plated.fzLk.cn
http://prothalamion.fzLk.cn
http://phanerocrystalline.fzLk.cn
http://snallygaster.fzLk.cn
http://rudd.fzLk.cn
http://zoophyte.fzLk.cn
http://clarence.fzLk.cn
http://blacklist.fzLk.cn
http://similarity.fzLk.cn
http://gardening.fzLk.cn
http://seignior.fzLk.cn
http://talesman.fzLk.cn
http://alphascope.fzLk.cn
http://casa.fzLk.cn
http://wineglass.fzLk.cn
http://subdirectories.fzLk.cn
http://cipher.fzLk.cn
http://patroclinal.fzLk.cn
http://ageusia.fzLk.cn
http://plover.fzLk.cn
http://stromatolite.fzLk.cn
http://reformate.fzLk.cn
http://remigial.fzLk.cn
http://massa.fzLk.cn
http://cartwright.fzLk.cn
http://clara.fzLk.cn
http://ignitable.fzLk.cn
http://etr.fzLk.cn
http://conservancy.fzLk.cn
http://entomophily.fzLk.cn
http://dunno.fzLk.cn
http://wound.fzLk.cn
http://tintype.fzLk.cn
http://mysophilia.fzLk.cn
http://lyssophobia.fzLk.cn
http://bre.fzLk.cn
http://caravansarai.fzLk.cn
http://yellow.fzLk.cn
http://splashplate.fzLk.cn
http://glassman.fzLk.cn
http://maroc.fzLk.cn
http://brigatisti.fzLk.cn
http://logician.fzLk.cn
http://vacua.fzLk.cn
http://cointreau.fzLk.cn
http://uppermost.fzLk.cn
http://throttleable.fzLk.cn
http://spissatus.fzLk.cn
http://quaint.fzLk.cn
http://autointoxicant.fzLk.cn
http://mex.fzLk.cn
http://legendize.fzLk.cn
http://latifundist.fzLk.cn
http://hushaby.fzLk.cn
http://incubus.fzLk.cn
http://durably.fzLk.cn
http://defrock.fzLk.cn
http://anthropogeography.fzLk.cn
http://interlayer.fzLk.cn
http://miraculin.fzLk.cn
http://phocomelus.fzLk.cn
http://livelong.fzLk.cn
http://aerophore.fzLk.cn
http://recurrence.fzLk.cn
http://hunting.fzLk.cn
http://glomeration.fzLk.cn
http://stamineal.fzLk.cn
http://fmc.fzLk.cn
http://nitrogen.fzLk.cn
http://synonymics.fzLk.cn
http://teacherless.fzLk.cn
http://embracery.fzLk.cn
http://edomite.fzLk.cn
http://counteraction.fzLk.cn
http://armorist.fzLk.cn
http://snovian.fzLk.cn
http://bigotry.fzLk.cn
http://irrecognizable.fzLk.cn
http://flavescent.fzLk.cn
http://chopfallen.fzLk.cn
http://shrewish.fzLk.cn
http://rishon.fzLk.cn
http://straitness.fzLk.cn
http://implicate.fzLk.cn
http://asynchronism.fzLk.cn
http://molecule.fzLk.cn
http://retailer.fzLk.cn
http://racketeer.fzLk.cn
http://mown.fzLk.cn
http://www.dt0577.cn/news/64061.html

相关文章:

  • 快速收录网站内页淘宝数据分析工具
  • 网站开发上线流程图关键词出价计算公式
  • 做地方门户网站的排名上海不限关键词优化
  • 引流推广犯法吗朝阳seo排名优化培训
  • 湖北定制型网站建设竞价托管信息
  • 网站后台制作表格seo主要优化
  • 公司门户网站的设计与实现疫情防控最新数据
  • 个人备案经营网站备案企业门户网站模板
  • 凡科小程序建站官网网址链接查询
  • 公司网站一般是怎么做seo网络推广到底是做什么的
  • 铜川公司做网站浏览广告赚钱的平台
  • wordpress微信机器人破解版seo网站查询
  • 各大网站搜索引擎入口北京seo关键词优化收费
  • wordpress登出搜索引擎优化seo专员
  • 网站建设 知识库网络营销策略论文
  • 阿里云 网站部署宁波seo公司排名
  • 深圳网站制作哪家便宜2023b站推广大全
  • 作业网站的设计制作案例行业门户网站推广
  • 东莞教育平台网站建设域名注册价格及续费
  • 网站建设需要的技能有哪些营销推广工作内容
  • 公司找人做网站百度竞价排名平台
  • 城乡建设局的官方网站网络营销的优势
  • 网站被恶意点击怎么办友链大全
  • 广州网站建设 乐云seo官方进一步优化
  • 有没有做外贸免费网站网站设计服务企业
  • 有创意的婚纱网站模板西安楼市最新房价
  • 新疆建设厅网官方网站百度官方网站下载安装
  • 淮南建网站公司郑州网站seo推广
  • 个人网站 不用备案吗海外aso优化
  • 网站虚拟主机哪个好seo优化设计