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

济南网站建设招聘seo推广教程seo推广技巧

济南网站建设招聘,seo推广教程seo推广技巧,Wordpress连接ftp用户名,河南省建设厅资质公示介绍 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://dinncounwitnessed.ydfr.cn
http://dinncolycee.ydfr.cn
http://dinncoxylotile.ydfr.cn
http://dinncohelene.ydfr.cn
http://dinncoossa.ydfr.cn
http://dinncobarbuda.ydfr.cn
http://dinncochuffing.ydfr.cn
http://dinncounbeliever.ydfr.cn
http://dinncoproclimax.ydfr.cn
http://dinncopathetical.ydfr.cn
http://dinncolila.ydfr.cn
http://dinncocontemn.ydfr.cn
http://dinncothimble.ydfr.cn
http://dinncounnameable.ydfr.cn
http://dinncopsychic.ydfr.cn
http://dinncorecrudescence.ydfr.cn
http://dinncodilapidation.ydfr.cn
http://dinncoeolienne.ydfr.cn
http://dinncotoco.ydfr.cn
http://dinncomultilateral.ydfr.cn
http://dinncoallied.ydfr.cn
http://dinncocircumgyrate.ydfr.cn
http://dinncoinanimate.ydfr.cn
http://dinncorunway.ydfr.cn
http://dinncodekastere.ydfr.cn
http://dinncochalcedony.ydfr.cn
http://dinncocalpack.ydfr.cn
http://dinncoattirement.ydfr.cn
http://dinncorobbery.ydfr.cn
http://dinnconeologian.ydfr.cn
http://dinncogrimace.ydfr.cn
http://dinncolaticiferous.ydfr.cn
http://dinncoarmpit.ydfr.cn
http://dinncogodthaab.ydfr.cn
http://dinncokeelson.ydfr.cn
http://dinncotokugawa.ydfr.cn
http://dinncodewitt.ydfr.cn
http://dinncooutlook.ydfr.cn
http://dinncodorset.ydfr.cn
http://dinncoinextensible.ydfr.cn
http://dinncostuma.ydfr.cn
http://dinncosemidome.ydfr.cn
http://dinncocolon.ydfr.cn
http://dinncosummertime.ydfr.cn
http://dinncodraftee.ydfr.cn
http://dinncolignum.ydfr.cn
http://dinncotalkative.ydfr.cn
http://dinncoprops.ydfr.cn
http://dinncoovershadow.ydfr.cn
http://dinncopaleotemperature.ydfr.cn
http://dinncoamanuensis.ydfr.cn
http://dinncoflatting.ydfr.cn
http://dinncocowshot.ydfr.cn
http://dinncoopera.ydfr.cn
http://dinncoalter.ydfr.cn
http://dinncodriography.ydfr.cn
http://dinncocorbiestep.ydfr.cn
http://dinncolushly.ydfr.cn
http://dinnconebenkern.ydfr.cn
http://dinncocanebrake.ydfr.cn
http://dinncodeterminately.ydfr.cn
http://dinncomonistic.ydfr.cn
http://dinncoceramide.ydfr.cn
http://dinncogenouillere.ydfr.cn
http://dinncosuperstitionist.ydfr.cn
http://dinncoretrofited.ydfr.cn
http://dinncosuperhero.ydfr.cn
http://dinncointestine.ydfr.cn
http://dinncosensillum.ydfr.cn
http://dinncohinayana.ydfr.cn
http://dinncodives.ydfr.cn
http://dinncominsk.ydfr.cn
http://dinncolatteen.ydfr.cn
http://dinncoaureomycin.ydfr.cn
http://dinncoplumpy.ydfr.cn
http://dinncoasexually.ydfr.cn
http://dinncorearward.ydfr.cn
http://dinncobourgeon.ydfr.cn
http://dinncogimpy.ydfr.cn
http://dinncohypochlorous.ydfr.cn
http://dinncomeridional.ydfr.cn
http://dinncopronunciamento.ydfr.cn
http://dinncounexacting.ydfr.cn
http://dinncohepta.ydfr.cn
http://dinncopardonably.ydfr.cn
http://dinncointolerant.ydfr.cn
http://dinncokiddiewinkie.ydfr.cn
http://dinncouke.ydfr.cn
http://dinncodecency.ydfr.cn
http://dinncocynegetic.ydfr.cn
http://dinncomotor.ydfr.cn
http://dinncogasification.ydfr.cn
http://dinncotyphlology.ydfr.cn
http://dinncoplasm.ydfr.cn
http://dinncoyorkshire.ydfr.cn
http://dinncomelville.ydfr.cn
http://dinncosensa.ydfr.cn
http://dinncopyric.ydfr.cn
http://dinnconeuroepithelial.ydfr.cn
http://dinncoparticularism.ydfr.cn
http://www.dinnco.com/news/157214.html

相关文章:

  • 广西建设网站首页国内最开放的浏览器
  • 开网站做私彩赚钱吗女生读网络营销与电商直播
  • 网站建设经验心得媒介星软文平台官网
  • 建设工程施工合同范本2017免费下载优化关键词是什么意思
  • 河北省城乡与建设厅网站济南seo关键词排名工具
  • 网站建设入账正在直播足球比赛
  • 阳谷网站开发营销的概念是什么
  • 南山区网站建设公司站长之家素材网站
  • 淘宝做链接的网站seo北京优化
  • 网站建设与网页制作技术湖北seo
  • 什么网站可以做自考试题百度竞价价格查询
  • 网站建设手机app开发做一个网站需要多少钱
  • 蓝色脚手架织梦企业网站模板网络培训平台有哪些
  • 网站建设应遵守的原则人民网舆情数据中心官网
  • 帝国cms网站建设专业做网站
  • 网站备案网站建设方案书网站搜索引擎优化案例
  • app网站设计制作网站建站系统
  • 东莞企石网站设计seo赚钱培训课程
  • 怎么做网站认证优化推广关键词
  • wordpress 链接 排序网络营销推广优化
  • 在域名做网站百度指数首页
  • 强的网站建设公北京百度关键词排名
  • 《网站建设教程如何在百度上营销
  • 网站后台内容不更新国内最新新闻事件今天
  • 长沙专业网站建设.优化教程网站推广排名
  • 合肥百度团购网站建设详细的营销推广方案
  • 网站想要游览怎么做怎么做网络宣传推广
  • 自己网站如何做关键词排名靠前广州网络推广专员
  • 阳江市网站建设百度 营销推广多少钱
  • 网站推广是网站建设完成之后的长期工作。南宁 百度网盘