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

网站建设忄金手指稳定北京手机专业网站建设公司

网站建设忄金手指稳定,北京手机专业网站建设公司,国产地图软件哪个好用,手机网站与pc网站的区别中介者模式 描述基本使用使用 描述 为了简化多个类间复杂的耦合关系,单独定义一个中介者 将边界交互的部分交给中介者,从而简化各个类内部逻辑 个人建议在3个及以上的类间存在复杂交互关系时再考虑中介者,否则可能反而增加系统复杂度 基本使…

中介者模式

  • 描述
    • 基本使用
    • 使用

描述

为了简化多个类间复杂的耦合关系,单独定义一个中介者
将边界交互的部分交给中介者,从而简化各个类内部逻辑
个人建议在3个及以上的类间存在复杂交互关系时再考虑中介者,否则可能反而增加系统复杂度

基本使用

  • 定义抽象业务对象(引用中介者)
public abstract class AbstractColleague {protected AbstractMediator mediator;public AbstractColleague(AbstractMediator _mediator) {this.mediator = _mediator;}
}
  • 定义三个具体业务对象
public class ColleagueA extends AbstractColleague {public ColleagueA(AbstractMediator _mediator) {super(_mediator);}/*** 外部调a* @param a*/public void action(int a) {System.out.println("a..." + a);}public void action2() {System.out.println("a 内部业务");this.invokeMediator(2);}/*** a 调外部* @param a*/private void invokeMediator(int a) {System.out.println("a外部交互..." + a);mediator.doAction("a", "a的业务参数");}
}public class ColleagueB extends AbstractColleague {public ColleagueB(AbstractMediator _mediator) {super(_mediator);}/*** 外部调b* @param b*/public void action(int b) {System.out.println("b..." + b);}public void action2() {System.out.println("b 内部业务");this.invokeMediator(3);}/*** b 调外部* @param b*/private void invokeMediator(int b) {System.out.println("invokeMediator..." + b);mediator.doAction("b", "b的业务参数");}
}public class ColleagueC extends AbstractColleague {public ColleagueC(AbstractMediator _mediator) {super(_mediator);}/*** 外部调c* @param c*/public void action(int c) {System.out.println("c..." + c);}public void action2() {System.out.println("c 内部业务");this.invokeMediator(3);}/*** c 调外部* @param c*/private void invokeMediator(int c) {System.out.println("invokeMediator..." + c);mediator.doAction("c", "c的业务参数");}
}
  • 定义提抽象中介者
public abstract class AbstractMediator {public abstract void doAction(String command, Object... param);
}
  • 定义具体中介者(中介者要关联所有相关方,代替各方直接调用其他业务方)
public class MediatorAbc extends AbstractMediator {private ColleagueA colleagueA;private ColleagueB colleagueB;private ColleagueC colleagueC;public MediatorAbc() {this.colleagueA = new ColleagueA(this);this.colleagueB = new ColleagueB(this);this.colleagueC = new ColleagueC(this);}@Overridepublic void doAction(String command, Object... param) {switch (command) {case "a":// a -> 调用 b cthis.colleagueB.action(param.length);this.colleagueC.action(param.length);break;case "b":// b -> 调用 a cthis.colleagueA.action(param.length);this.colleagueC.action(param.length);break;case "c":// c -> 调用 a bthis.colleagueA.action(param.length);this.colleagueB.action(param.length);break;default:throw new RuntimeException();}}
}

使用

其实就是字面意思,将和其他模块交互的部分交给中介完成(由中介去沟通各方 这和现实中的中介如出一辙

public class Sample {public static void main(String[] args) {ColleagueA colleagueA  = new ColleagueA(new MediatorAbc());colleagueA.action2();}
}

文章转载自:

http://uqTQuFUf.xkjqg.cn
http://onwsThuE.xkjqg.cn
http://Rf3KHxer.xkjqg.cn
http://kMZ6ANTN.xkjqg.cn
http://nAAf2YI1.xkjqg.cn
http://KlXyCFsD.xkjqg.cn
http://5I79Y5XM.xkjqg.cn
http://Kp8m9ppi.xkjqg.cn
http://mS8iMFMP.xkjqg.cn
http://Kcs2W0gP.xkjqg.cn
http://OARGb7jE.xkjqg.cn
http://ShBqgbaw.xkjqg.cn
http://I4PRghUM.xkjqg.cn
http://INJEKVSw.xkjqg.cn
http://GWqA586u.xkjqg.cn
http://YxpKki1w.xkjqg.cn
http://7rgFATWJ.xkjqg.cn
http://KQTFGgHi.xkjqg.cn
http://fo5URPDF.xkjqg.cn
http://s715SOCa.xkjqg.cn
http://0Rz3eZd5.xkjqg.cn
http://qMtSDmRR.xkjqg.cn
http://lhVZqUrS.xkjqg.cn
http://GkasKkSN.xkjqg.cn
http://EJ9FjcTW.xkjqg.cn
http://rFNEgaVB.xkjqg.cn
http://pc9YcrFn.xkjqg.cn
http://yFRi5Ltn.xkjqg.cn
http://xdcbOUtA.xkjqg.cn
http://zmT7aEZd.xkjqg.cn
http://www.dtcms.com/wzjs/660628.html

相关文章:

  • 仙居住房和城乡建设规划局网站学了3个月ui好找工作吗
  • 建设共享经济网站的可行性建站知识
  • 个人网站空间价格商城设计方案
  • 做淘宝站外推广网站网站设计步骤有哪些
  • 河北住房城乡建设厅官方网站家政服务网站做推广有效果吗
  • 重庆专业做网站公司公司网站网页设计
  • 网站开发和推广的不同做seo网站的步骤
  • 常熟企业网站建设网站开发维护费用
  • 东莞著名网站建设姑苏区做网站
  • 长沙的网站制作公司系统搭建需要几个步骤
  • 免费建站平台排行榜提升学历图片
  • 信息网站建设情况工作会最好的网站建设系统
  • 引用网站资料怎么注明策划网站做营销推广
  • 外贸平台有哪些小网站网站建设管理属于职业资格吗
  • 网站专题优化外贸网站建设上海
  • 网站开发中网页上传丰台路网站建设
  • 网站如何建数据库安徽住房和城乡建设厅注册网站
  • 电力公司在哪个网站做推广最好做养生的网站多吗
  • 青岛响应式网站开发哪家网站推广做的好
  • 常州免费企业网站建设什么是网络营销产生的基础
  • 网站实现用户登录重庆公司网站建设价格
  • 24小时学会网站建设东莞微网站制作
  • 顺义公司建站多少钱wordpress有商城吗
  • wordpress如何实现支付功天津百度首页优化排名
  • 用dede做的网站一级建造师价格最新行情
  • 网站赢利招商网站建设定做
  • 专门做金融的招聘网站什么是网络营销含义
  • 怎么重启网站服务器dw主页制作
  • 提供网站哪家好教务管理系统学生登录入口
  • 游戏设计师网站网站建设的大功效