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

企业网站制作哪家好王也天与葛优

企业网站制作哪家好,王也天与葛优,长垣县建站塔山双喜,直播发布会在中介者模式中#xff0c;多个对象之间不再直接相互通信#xff0c;而是通过一个中介者对象进行通信。这可以减少对象之间的依赖关系#xff0c;使系统更加模块化。中介者模式适用于当对象之间的通信逻辑变得复杂#xff0c;导致代码难以维护和理解时。 中介者模式使用场…在中介者模式中多个对象之间不再直接相互通信而是通过一个中介者对象进行通信。这可以减少对象之间的依赖关系使系统更加模块化。中介者模式适用于当对象之间的通信逻辑变得复杂导致代码难以维护和理解时。 中介者模式使用场景 对象之间的交互复杂度高 当系统中的对象之间需要频繁地相互通信导致交互逻辑复杂且难以维护时可以考虑使用中介者模式来将这些复杂的交互逻辑集中管理。对象之间的耦合度高 如果对象之间的耦合度过高修改一个对象可能会影响到其他对象使得系统难以扩展和维护。中介者模式可以降低对象之间的直接依赖关系从而减少耦合度。分布式系统 在分布式系统中不同节点之间需要通信和协调。使用中介者模式可以在不同节点之间引入一个中介者负责协调节点之间的通信从而简化分布式系统的设计和管理。图形界面应用 在图形界面应用中各个界面元素之间需要相互响应和协调例如按钮点击触发其他界面元素的更新。中介者模式可以用来管理界面元素之间的交互避免它们之间的紧密耦合。多人协作系统 在多人协作系统中不同用户或角色之间需要相互协调和通信。中介者模式可以用于管理不同用户或角色之间的交互确保协作流程的顺畅进行。消息传递系统 当系统中需要实现消息传递和通信时可以使用中介者模式来管理消息的发送和接收确保消息传递的可靠性和一致性。 中介者模式虽然有诸多优点但在一些情况下可能会引入一个单点故障即中介者本身出现问题可能会影响整个系统的功能。因此在使用中介者模式时需要谨慎权衡和设计中介者的职责和功能确保模式的有效性和稳定性。 中介者模式的主要角色 中介者模式的核心思想是将对象之间的交互从彼此之间解耦通过引入中介者来管理交互从而使系统更加灵活、可维护和可扩展。这种模式的使用可以使得系统的交互逻辑变得更加清晰并减少对象之间复杂的直接关联。 中介者Mediator 中介者是该模式的核心负责定义对象之间的通信接口和协调规则。它持有对所有相关同事类对象的引用并根据业务逻辑协调它们之间的交互。中介者通常封装了复杂的交互逻辑使对象之间的通信更加简单和集中。同事类Colleague 同事类是需要相互通信的对象每个同事类都知道中介者对象并通过中介者来与其他同事类进行通信。同事类之间不直接通信而是通过中介者进行交互从而降低了对象之间的耦合度。 在一些实现中同事类可以分为两类 具体同事类Concrete Colleague 具体同事类实现了同事类的接口通过中介者与其他具体同事类进行通信。每个具体同事类通常只关心自己的业务逻辑而将交互逻辑委托给中介者处理。 抽象同事类Abstract Colleague 抽象同事类定义了同事类的接口通常包括一个指向中介者的引用。具体同事类通过继承抽象同事类来实现通信功能。 java代码实例 创建一个聊天室的场景其中用户可以通过中介者给其它所有用户发送消息,或者接受其它用户发送的消息 中介者接口 //终结者接口 public interface ChatMediator {//添加用户void addUser(User user);void sendMessage(String message, User user);}中介者实现类 public class ChatMediatorImpl implements ChatMediator{//用户组private ListUser users;//创建中介者的时候初始化用户组public ChatMediatorImpl(){this.usersnew ArrayList();}Overridepublic void addUser(User user) {this.users.add(user);}Overridepublic void sendMessage(String message, User user) {for (User u : users) {if (u ! user) {u.receiveMessage(message);}}}}抽象用户 public interface User {//发送信息给中介void sendMassageToMe(String message);//接受消息void receiveMessage(String message);}具体用户 public class ConcreteUser implements User{private ChatMediator chatMediator;private String name;public ConcreteUser(String name,ChatMediator chatMediator){this.chatMediatorchatMediator;this.name name;chatMediator.addUser(this);}Overridepublic void sendMassageToMe(String message) {System.out.println(name sends message: message);chatMediator.sendMessage(message,this);}Overridepublic void receiveMessage(String message) {System.out.println(name receive a Messagemessage);} }客户端 public static void main(String[] args) {//初始化的时候就创建一个User组ChatMediator chatMediator new ChatMediatorImpl();//创建三个用户并且吧用户添加到了用户组中User user1 new ConcreteUser(User 1, chatMediator);User user2 new ConcreteUser(User 2, chatMediator);User user3 new ConcreteUser(User 3, chatMediator);//用户发送消息user1.sendMassageToMe(Hello, everyone!);user2.sendMassageToMe(Hi there!); }运行结果 User 1 sends message: Hello, everyone! User 2receive a MessageHello, everyone! User 3receive a MessageHello, everyone! User 2 sends message: Hi there! User 1receive a MessageHi there! User 3receive a MessageHi there!中介者模式的优缺点 中介者模式在复杂的对象交互场景中可以提供许多优点但在简单场景下可能会显得过于繁琐。使用中介者模式时需要根据具体情况权衡其优缺点确保模式的使用能够带来实际的设计和维护好处。 优点 降低耦合度 中介者模式可以减少对象之间的直接依赖关系从而降低系统的耦合度。各个对象只需要和中介者进行通信而不需要了解其他对象的详细信息。简化对象交互 中介者模式将复杂的交互逻辑集中在中介者中使得对象之间的交互变得简单和集中。这有助于提高代码的可读性和维护性。集中管理 中介者模式可以集中管理对象之间的交互逻辑使系统的逻辑更加清晰。通过将交互逻辑封装在中介者中可以更容易地进行修改和扩展。易于扩展 当需要添加新的对象或修改交互规则时只需修改中介者类而不需要修改其他对象的代码。这使得系统更加容易扩展和维护。促进重用 中介者模式可以将交互逻辑从各个对象中抽取出来使得这些逻辑可以被多个对象共享和重用。 缺点 中介者复杂 在某些情况下中介者可能会变得复杂尤其是当系统中有大量对象和复杂的交互逻辑时。这可能导致中介者本身难以维护。单点故障 中介者模式引入了一个中心化的中介者对象如果这个中介者出现问题可能会影响整个系统的功能。这可能会增加系统的脆弱性。通信间接性 中介者模式使得对象之间的通信变为间接的可能会导致一些通信变得复杂降低了部分直接性。不适用简单场景 在对象之间的交互相对简单的情况下使用中介者模式可能会引入不必要的复杂性增加代码的复杂度。
http://www.hkea.cn/news/14355555/

相关文章:

  • jquery网站开发教程织梦网站提示保存目录数据时报
  • php网站开发实例教程简介北京网站建设外包公司
  • 郑州企业网站制作怎么做国内做网站的大公司有哪些
  • 专业管道疏通网站建设图片犀牛云做网站推广怎么样
  • 网站推广软件赚钱难吗?重庆可视化网站制作
  • 网站后台 请示网页设计学编程吗
  • 做网站代理拉别人网站品牌营销策略包括哪些内容
  • 山东专业的网站建设建设网站之前都需要准备什么东西
  • 网站管理员权限设置权限设置顺企网杭州网站建设
  • 如何做展示型网站四川省建设厅网站
  • 上海网站建设公司 红威新网站前期如何做seo
  • 大连网站推广价格王者荣耀是哪家公司开发的
  • 世界著名办公室设计太原网站搜索优化
  • cms网站后台管理系统官方网站作用
  • 高水平网站运营托管怎么在搜索引擎里做网站网页
  • 给网站做视频怎么赚钱室外绿化工程施工方案久久建筑网
  • 常州网站建设哪家好程序员一般找哪种女人
  • 网页设计与网站建设简答题做电容的网站
  • 北京驾校网站建设电子商务网站开发分几个模块
  • 吉林省建设银行网站慕课网站建设开题报告
  • 新媒体与网站建设网站友情链接怎么做
  • 大兴网站建设公司性价比高的域名备案加急
  • 濮阳网站建设优化做网站需要多少空间
  • 建设门户网站国内企业网站设计公司
  • 建设免费网站模板wordpress如何不显示评论
  • 虹口集团网站建设wordpress导航条
  • 网站建设费记到什么科目网站开发公司 广告词
  • 昆山网站建设培训学校网站制作需要多少钱新闻
  • 网站开发定义名称淮安建设网站
  • 书画网站 建站网站交易平台建设