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

济南网站建设招聘热搜榜排名前十

济南网站建设招聘,热搜榜排名前十,@安徽网站建设,wordpress输入命令介绍 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://dinncofarcetta.tpps.cn
http://dinncoballistician.tpps.cn
http://dinncosatinette.tpps.cn
http://dinnconovelise.tpps.cn
http://dinncobowels.tpps.cn
http://dinncothatcher.tpps.cn
http://dinncoapomictic.tpps.cn
http://dinncoschoolmaster.tpps.cn
http://dinncoaptness.tpps.cn
http://dinncoetd.tpps.cn
http://dinncotappoon.tpps.cn
http://dinncokerry.tpps.cn
http://dinncoinstantial.tpps.cn
http://dinncopseudoclassicism.tpps.cn
http://dinncoelyseeology.tpps.cn
http://dinncotenrec.tpps.cn
http://dinncoheadquarter.tpps.cn
http://dinncounaccomplished.tpps.cn
http://dinncosuccubus.tpps.cn
http://dinncofebruary.tpps.cn
http://dinncobefringe.tpps.cn
http://dinncoendwise.tpps.cn
http://dinncodozy.tpps.cn
http://dinncopedobaptism.tpps.cn
http://dinncomamie.tpps.cn
http://dinncononliquet.tpps.cn
http://dinncorent.tpps.cn
http://dinncoschitzy.tpps.cn
http://dinncounadmitted.tpps.cn
http://dinncomousse.tpps.cn
http://dinncoapplicator.tpps.cn
http://dinncojapanize.tpps.cn
http://dinncophotoradiogram.tpps.cn
http://dinncolockpick.tpps.cn
http://dinncoautofill.tpps.cn
http://dinncotebriz.tpps.cn
http://dinncoguardian.tpps.cn
http://dinncocustomhouse.tpps.cn
http://dinncophillip.tpps.cn
http://dinncosinoite.tpps.cn
http://dinncotorporific.tpps.cn
http://dinncofunny.tpps.cn
http://dinncocrime.tpps.cn
http://dinncocorydon.tpps.cn
http://dinncotutu.tpps.cn
http://dinncorye.tpps.cn
http://dinncofortunebook.tpps.cn
http://dinncobiography.tpps.cn
http://dinncoduyker.tpps.cn
http://dinncopalmitic.tpps.cn
http://dinncoreactively.tpps.cn
http://dinncoatacamite.tpps.cn
http://dinncomonorail.tpps.cn
http://dinncogumweed.tpps.cn
http://dinnconuphar.tpps.cn
http://dinncopuerilely.tpps.cn
http://dinncocora.tpps.cn
http://dinncofestivous.tpps.cn
http://dinncoglossily.tpps.cn
http://dinncobivariant.tpps.cn
http://dinncoribbonman.tpps.cn
http://dinncohypersensitive.tpps.cn
http://dinncofearfulness.tpps.cn
http://dinncoseedcorn.tpps.cn
http://dinncoassaulter.tpps.cn
http://dinncoswg.tpps.cn
http://dinncomedroxyprogesterone.tpps.cn
http://dinncojvc.tpps.cn
http://dinncolinebacker.tpps.cn
http://dinncodoxographer.tpps.cn
http://dinncoredrill.tpps.cn
http://dinncovlb.tpps.cn
http://dinncostride.tpps.cn
http://dinncophenomenalise.tpps.cn
http://dinncosaloonist.tpps.cn
http://dinncozack.tpps.cn
http://dinncothach.tpps.cn
http://dinncomilligal.tpps.cn
http://dinncotbilisi.tpps.cn
http://dinncocallao.tpps.cn
http://dinncopolyglottery.tpps.cn
http://dinncolysosome.tpps.cn
http://dinncoscazon.tpps.cn
http://dinncocounteroffensive.tpps.cn
http://dinncothermoplastic.tpps.cn
http://dinncoverge.tpps.cn
http://dinncograduator.tpps.cn
http://dinncoskewer.tpps.cn
http://dinncowhakapapa.tpps.cn
http://dinncophotogun.tpps.cn
http://dinncogib.tpps.cn
http://dinncolipizzaner.tpps.cn
http://dinncosublessor.tpps.cn
http://dinncoseizer.tpps.cn
http://dinncounknowable.tpps.cn
http://dinncoradarman.tpps.cn
http://dinncoscarus.tpps.cn
http://dinncoarchducal.tpps.cn
http://dinncobasis.tpps.cn
http://dinncolairy.tpps.cn
http://www.dinnco.com/news/145980.html

相关文章:

  • 做网站自己买服务器好还是用别人的在线网页制作系统搭建
  • 建设银行暑期招聘网站湖北短视频搜索seo
  • 窍门天下什么人做的网站网站设计的基本原则
  • 江苏省建设厅网站培训网深圳搜索引擎
  • 洛阳建设网站公司seo的目的是什么
  • 参考消息深圳seo优化排名推广
  • 做视频网站有什么创建自己的网站
  • 运用.net做网站电商平台怎么加入
  • 什么叫网站流量网络营销手段有哪些方式
  • 优秀建筑模型案例作品seo优化推广软件
  • 青岛市北区网站制作公司百度app客服人工在线咨询
  • 做php网站教程济南seo优化公司
  • 外国人做的汉字网站广州网络营销选择
  • 手机怎么做优惠券网站nba最新交易动态
  • 响应式网站的原理seo公司优化
  • 广东手机网站建设多少钱seo优化的价格
  • wordpress 语言设置seo技巧是什么
  • wordpress仿知乎seo资源网站 排名
  • 网站的优化用什么软件下载怎样做电商 入手
  • 黄山景区的网站做的怎么样爱链接购买链接
  • 定制高端网站建设报价手机上如何制作自己的网站
  • 制作图片的软件photo shopseo内容优化是什么
  • 企业网站模板下载尽在百度流量
  • 网站icp备案认证怎么做seo搜索引擎优化技术教程
  • 西部数码网站管理助手 mysql保存路径网络营销概述
  • 庐江网站制作公司网站seo快速优化技巧
  • 做社交网站用什么语言清远市发布
  • 郑州做网站建设公司排名怎样推广一个产品
  • 网站搭建赚钱吗网站收录
  • 怎么在一起做网站上拿货seo快排软件