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

湖南营销网站建设设计做外贸纱线用什么网站

湖南营销网站建设设计,做外贸纱线用什么网站,qq建设网站,深圳市福田区公司目录 一. 前言 二. 实现 三. 优缺点 一. 前言 中介者模式又叫调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。 中介者模式可以使对象之间的关系数量急剧减少&#xff0…

目录

一. 前言

二. 实现

三. 优缺点


一. 前言

    中介者模式又叫调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。

中介者模式可以使对象之间的关系数量急剧减少,通过引入中介者对象,可以将系统的网状结构变成以中介者为中心的星形结构,任何一个类的变动,只会影响的类本身,以及中介者,这样就减小了系统的耦合。一个好的设计,必定不会把所有的对象关系处理逻辑封装在本类中,而是使用一个专门的类来管理那些不属于自己的行为。

二. 实现

Mediator: 中介者,定义一个接口用于与各同事(Colleague)对象通信。
Colleague: 同事,相关对象

案例:Alarm(闹钟)、CoffeePot(咖啡壶)、Calendar(日历)、Sprinkler(喷头)是一组相关的对象,在某个对象的事件产生时需要去操作其它对象,形成了下面这种依赖结构:

使用中介者模式可以将复杂的依赖结构变成星形结构:

public abstract class Colleague {public abstract void onEvent(Mediator mediator);
}public class Alarm extends Colleague {@Overridepublic void onEvent(Mediator mediator) {mediator.doEvent("alarm");}public void doAlarm() {System.out.println("doAlarm()");}
}public class CoffeePot extends Colleague {@Overridepublic void onEvent(Mediator mediator) {mediator.doEvent("coffeePot");}public void doCoffeePot() {System.out.println("doCoffeePot()");}
}public class Calender extends Colleague {@Overridepublic void onEvent(Mediator mediator) {mediator.doEvent("calender");}public void doCalender() {System.out.println("doCalender()");}
}public class Sprinkler extends Colleague {@Overridepublic void onEvent(Mediator mediator) {mediator.doEvent("sprinkler");}public void doSprinkler() {System.out.println("doSprinkler()");}
}
public abstract class Mediator {public abstract void doEvent(String eventType);
}
public class ConcreteMediator extends Mediator {private Alarm alarm;private CoffeePot coffeePot;private Calender calender;private Sprinkler sprinkler;public ConcreteMediator(Alarm alarm, CoffeePot coffeePot, Calender calender, Sprinkler sprinkler) {this.alarm = alarm;this.coffeePot = coffeePot;this.calender = calender;this.sprinkler = sprinkler;}@Overridepublic void doEvent(String eventType) {switch (eventType) {case "alarm":doAlarmEvent();break;case "coffeePot":doCoffeePotEvent();break;case "calender":doCalenderEvent();break;default:doSprinklerEvent();}}public void doAlarmEvent() {alarm.doAlarm();coffeePot.doCoffeePot();calender.doCalender();sprinkler.doSprinkler();}public void doCoffeePotEvent() {// ...}public void doCalenderEvent() {// ...}public void doSprinklerEvent() {// ...}
}
public class Client {public static void main(String[] args) {Alarm alarm = new Alarm();CoffeePot coffeePot = new CoffeePot();Calender calender = new Calender();Sprinkler sprinkler = new Sprinkler();Mediator mediator = new ConcreteMediator(alarm, coffeePot, calender, sprinkler);// 闹钟事件到达,调用中介者就可以操作相关对象alarm.onEvent(mediator);}
}
doAlarm()
doCoffeePot()
doCalender()
doSprinkler()

三. 优缺点

优点
1. 松散耦合:中介者模式通过把多个同事对象之间的交互封装到中介者对象里面,从而使得同事对象之间松散耦合,基本上可以做到互补依赖。这样一来,同事对象就可以独立地变化和复用,而不再像以前那样“牵一处而动全身”了。
2. 集中控制交互:多个同事对象的交互,被封装在中介者对象里面集中管理,使得这些交互行为发生变化的时候,只需要修改中介者对象就可以了,当然如果是已经做好的系统,那么就扩展中介者对象,而各个同事类不需要做修改。
3. 一对多关联转变为一对一的关联:没有使用中介者模式的时候,同事对象之间的关系通常是一对多的,引入中介者对象以后,中介者对象和同事对象的关系通常变成双向的一对一,这会让对象的关系更容易理解和实现。
缺点
当同事类太多时,中介者的职责将很大,它会变得复杂而庞大,以至于系统难以维护。

JDK中的中介者模式
java.util.concurrent.Executor#execute()
submit() and invokeXXX() methods of java.util.concurrent.ExecutorService
scheduleXXX() methods of java.util.concurrent.ScheduledExecutorService
java.lang.reflect.Method#invoke()

http://www.yayakq.cn/news/749950/

相关文章:

  • 建设网站方案ppt湖南营销型网站建设 j磐石网络
  • 织梦网站头部到底部去了宿迁网站建设公司排名
  • 如何建设阿里巴巴网站Pk10网站建设多少钱
  • 红河网站建设设计济宁房产网
  • 江都城乡建设局网站node做网站后台
  • 百度指数做网站wordpress主题dux 5.0
  • 折再返怎么 做网站哈尔滨企业建网站推广
  • app网站开发哪家好更合网站设计
  • 贵港市建设局网站公司注册的流程和条件
  • 聊天网站站怎么做腾讯云对象存储wordpress
  • 网站制作在线版长春城市设施建设集团股份公司
  • 泗洪住房和城乡建设网站水果网站建设
  • 高端的网站建设公司靖江网站设计
  • 手机网站制作公司 广州结构化数据 wordpress
  • 西安做网站公司魔盒就业前景好的10大专业
  • seo导航站站长工具排名分析
  • 网站seo优化外包山东信达建设工程有限公司网站
  • 一个公司做多个网站多说与网站账号绑定
  • 专业的网站制作开发公司网站建设简单合同模板下载
  • 寻求一个专业网站制作公司广州市住建局官网
  • 厦门网站开发建设品牌建设体系
  • eclipse tomcat 网站开发黑龙江省建设协会网站首页
  • wap网站适配湖北网站定制开发价格表
  • 高端网站公司长沙中建设计院网站
  • 网站服务器在哪可以看ppt做的好的有哪些网站有哪些
  • 做外贸一般要注册哪些外贸网站北京外语网站开发公司
  • 免费ppt模板网站哪个好用中国工程招标网采购招标网
  • 投票网站源码php阳江今天刚刚发生的重大新闻
  • 为什么很多公司做网站建设网站建设源代码 费用
  • 上海网站建设觉策做qq链接的网站