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

洛阳网站改版维护公司襄阳百度seo

洛阳网站改版维护公司,襄阳百度seo,怎么做企业网站二维码扫描,餐饮类网站模板介绍 Java中介者模式(Mediator Pattern)是一种行为设计模式,它可以降低多个对象之间的耦合性,通过一个中介者对象来协调这些对象的交互. 在中介者模式中,多个对象之间的交互不是直接进行的,而是通过一个中介者对象来进行的.这个中介者对象封装了对象之间的交互逻辑,每个对象只…

介绍

Java中介者模式(Mediator Pattern)是一种行为设计模式,它可以降低多个对象之间的耦合性,通过一个中介者对象来协调这些对象的交互.

在中介者模式中,多个对象之间的交互不是直接进行的,而是通过一个中介者对象来进行的.这个中介者对象封装了对象之间的交互逻辑,每个对象只需要与中介者对象进行通信,而不需要与其他对象直接进行通信.这种模式可以有效的减少代码的复杂度和维护成本,提高系统的可扩展性和可维护性.

在Java中, 中介者模式可以通过一个接口或抽象类来定义中介者对象,该中介者对象可以定义一些方法来处理对象之间的通信.同时,需要实现一些具体的对象类,这些对象类需要持有中介者对象,并且需要实现一些方法来与中介者对象进行通信.通过这种方式,可以实现对象之间的解耦,提高代码的可读性和可维护性.

实现

抽象中介者

public abstract class Mediator {public abstract void send(String message, Colleague colleague);
}

具体中介者

public class ConcreteMediator extends Mediator{private ConcreteColleague1 concreteColleague1;private ConcreteColleague2 concreteColleague2;public void setConcreteColleague1(ConcreteColleague1 concreteColleague1) {this.concreteColleague1 = concreteColleague1;}public void setConcreteColleague2(ConcreteColleague2 concreteColleague2) {this.concreteColleague2 = concreteColleague2;}@Overridepublic void send(String message, Colleague colleague) {if (colleague == concreteColleague1){concreteColleague2.receive(message);}else {concreteColleague1.receive(message);}}
}

抽象同事类

public abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator = mediator;}/*** 发送消息** @param message*/public abstract void send(String message);/*** 消费消息* @param message*/public abstract void receive(String message);
}

具体同事类

public class ConcreteColleague1 extends Colleague {public ConcreteColleague1(Mediator mediator) {super(mediator);}/*** 发送消息** @param message*/@Overridepublic void send(String message) {mediator.send(message, this);}/*** 消费消息** @param message*/@Overridepublic void receive(String message) {System.out.println("concreteColleague1收到消息:" + message);}
}public class ConcreteColleague2 extends Colleague {public ConcreteColleague2(Mediator mediator) {super(mediator);}/*** 发送消息** @param message*/@Overridepublic void send(String message) {mediator.send(message, this);}/*** 消费消息** @param message*/@Overridepublic void receive(String message) {System.out.println("concreteColleague2收到消息:" + message);}
}

测试

public class Demo {public static void main(String[] args) {ConcreteMediator mediator = new ConcreteMediator();ConcreteColleague1 concreteColleague1 = new ConcreteColleague1(mediator);ConcreteColleague2 concreteColleague2 = new ConcreteColleague2(mediator);mediator.setConcreteColleague1(concreteColleague1);mediator.setConcreteColleague2(concreteColleague2);concreteColleague1.send("Hello concreteColleague2");concreteColleague2.send("Hello concreteColleague1");}
}

在这里插入图片描述

在上面代码中,抽象中介者Mediator定义了同事类之间通信的接口,具体中介者类ConcreteMediator实现了这个接口,并持有同事类列表.抽象同事类Colleague定义了同事类的通信接口,具体同事类ConcreteColleague1和ConcreteColleague2分别实现了这个接口,实现了具体的通信逻辑.在测试代码中,我们创建了一个中介者对象,然后创建了两个同事对象并将他们加入到中介者对象的同事列表中,最后测试了它们之间的通信.

总结

优点:

  • 降低了对象之间的耦合度,是的它们更加容易被独立地修改,测试和维护.
  • 通过集中管理和协调对象之间的交互,可以更加灵活地扩展和修改系统,而不会对其他部分造成影响
  • 可以使得代码更加清晰易懂,因为所有对象之间的交互都被集中在中介者对象中进行处理.

缺点:

  • 中介者对象需要处理多个对象之间的交互,因此其复杂度可能较高,需要仔细设计和实现.
  • 如果设计不当,中介者对象可能会成为系统的瓶颈,降低系统的性能和响应速度.

应用场景:

  • 当多个对象之间存在复杂的交互关系,且彼此之间的耦合度较高时,可以考虑使用中介者模式进行重构.
  • 当系统中存在大量的对象,而且它们之间的交互关系错综复杂时,可以考虑使用中介者模式进行简化和优化.
  • 当需要再不影响其他部分的情况下扩展和修改系统时,可以使用中介者模式来实现系统的灵活性和可扩展性.
http://www.yayakq.cn/news/525506/

相关文章:

  • 网站设计的重要性做银行应该关注的网站
  • 网站搭建中转产品线上推广渠道
  • 苏州官网网站首页奢侈品网站策划方案
  • 现代化专业群建设专题网站护理专业律师的网站模板
  • 推广网站推广上海基础微网站开发
  • 网站建设企业模板丫多个网站对比表格怎么做
  • 做网站哪家公司好东莞seo关键词优化
  • 昆明招工网站找普工作建设工作网站运营顾问
  • 宁波 做网站百度一下就一个
  • 连江县住房和城乡建设局网站wordpress切换语言 语言包
  • 论坛做视频网站网站服务器空间价格
  • 个体工商户备案网站备案邯郸注册公司
  • 小众写作网站78创业商机网
  • 南京做企业网站苏州首页排名关键词优化
  • 灰色网站设计微分销平台搭建
  • 大型网站建设服务公司湖北城乡和建设官方网站
  • 网站建设企业实践总结国内比较牛的网站建设
  • 做网站需要什么配置网上商城平台
  • 大兴网站开发网站建设咨询白酒最有效的推广方式
  • 自己怎么做机构网站老地方在线观看免费资源大全
  • 海口网站制作价格承德网站网站建设
  • 公司企业网站建设多少钱海南网站设计公司
  • 网站开发需要什么软件有哪些环境设计案例网站
  • 网站建设与用户需求分析桥梁建设杂志有假网站吗
  • 网站 劣势wordpress聚合插件
  • 邢台网站建设开发网站开发的问题
  • 蒲城矿建设备制造厂网站网站开发文档的示例
  • 关于学校网站建设网站搭建分站需要多少钱
  • 手机网站下拉列表老外做的中国汉字网站
  • 微九州合作网站一家专门做鞋子的网站