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

免费行情软件网站直播台州网站制作建设

免费行情软件网站直播,台州网站制作建设,软件开发网站开发副业,推广普通话手抄报简单又好看内容目录 一. 前言 二. 实现 三. 优缺点 一. 前言 中介者模式又叫调停模式#xff0c;定义一个中介角色来封装一系列对象之间的交互#xff0c;使原有对象之间的耦合松散#xff0c;且可以独立地改变它们之间的交互。 中介者模式可以使对象之间的关系数量急剧减少#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.w-s-a.com/news/838563/

相关文章:

  • 在福州做搬家网站多少钱画册设计网站有哪些
  • 如何让别人浏览我做的网站哪些方法可以建设网站
  • 网站建设与管理网络推广的优点
  • 美食网站的设计与制作做网站的电销话术
  • 中国档案网站建设现状研究陕西建设厅执业资格注册中心网站
  • 网站建设的内容管理怎么用ps切片在dw里做网站
  • 建设婚恋网站用什么搭建涿州网站开发
  • 做知识内容的网站与app哈尔滨哪里有做网站的
  • 青岛企业网站建站模板百度网站建设推广
  • 做360网站中保存的图片存在哪里个人建立网站要多少钱
  • 网站安装部署无锡做网站的公司
  • 怎么将网站做成小程序安装wordpress到服务器
  • 企业网站建设的四大因素沈阳网站建设招标公司
  • wordpress仿站开发公司网站策划宣传
  • 金乡县网站开发网站开发三个流程
  • qq空间网站是多少纺织网站建设方案
  • 建设微网站项目报告网站优化难吗
  • 做网站需要自己上传产品吗企业网站系统设计
  • wordpress个人中心济南网站建设和优化
  • 网站pc端网址和手机端网址建设牡丹江 网站建设
  • 苏州新区城乡建设网站人才招聘网站开发
  • 一般网站是怎么做的威远移动网站建设
  • 赣州网站开发公司怎么才能设计好一个网站
  • 个人网站建设分几个步走培训网站开发哪个好
  • 智能网站价格河北城乡建设网站
  • 做动画在线观看网站网上花店 网站源代码
  • 做网站项目体会商业信息
  • 深圳的设计网站谷歌浏览器下载手机版官网
  • 苏州网站建设都找全网天下外贸响应式网站设计
  • 揭阳专业做网站网站迁移教材