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

在哪里找做网站的客户天津seo渠道代理

在哪里找做网站的客户,天津seo渠道代理,免费的个人网站注册,天津武清网站开发简介 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互 UML图 应用场景 大量的连接使得一个对象不可能在没有其他对象的支持下工作,系统表现为一个不可分割的…

简介

用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互

UML图

在这里插入图片描述

应用场景
  • 大量的连接使得一个对象不可能在没有其他对象的支持下工作,系统表现为一个不可分割的整体
  • 用于一组对象以定义良好但是复杂的方式进行通信的场合,以及想定制一个分布在多个类中的行为而又不想生成太多的子类的场合

示例

联合国会议,用来处理世界各国的纠纷,联合国相当于中介者,各个国家在联合国进行谈判

  1. Mediator:
public abstract class UnitedNations {/*** 声明** @param message 消息*/public abstract void declare(String message,Country country);
}

理事会

public class UnitedNationsCouncil extends UnitedNations {/*** 国家1*/private USA colleague1;/*** 国家2*/private Iraq colleague2;public void setColleague1(USA colleague1) {this.colleague1 = colleague1;}public void setColleague2(Iraq colleague2) {this.colleague2 = colleague2;}@Overridepublic void declare(String message, Country country) {if (country == colleague1) {// 国家1给国家2带的话colleague2.getMessage(message);} else {colleague1.getMessage(message);}}
}
  1. Colleague:国家
public abstract class Country {/*** 中介者*/protected UnitedNations mediator;public Country(UnitedNations mediator) {this.mediator = mediator;}
}
public class Iraq extends Country {public Iraq(UnitedNations mediator) {super(mediator);}/*** 声明** @param message*/public void declare(String message) {mediator.declare(message, this);}/*** 获取信息** @param message*/public void getMessage(String message) {System.out.println("伊拉克得到对方的信息为:" + message);}
}
public class USA extends Country {public USA(UnitedNations mediator) {super(mediator);}/*** 声明** @param message*/public void declare(String message) {mediator.declare(message, this);}/*** 获取信息*/public void getMessage(String message) {System.out.println("美国获取对方消息为:" + message);}
}
  1. 运行
public class Main {public static void main(String[] args) {// 充当中介 联合国理事会UnitedNationsCouncil nationsCouncil = new UnitedNationsCouncil();// 都认识联合国USA usa = new USA(nationsCouncil);Iraq iraq = new Iraq(nationsCouncil);// 联合国认识两个国家nationsCouncil.setColleague1(usa);nationsCouncil.setColleague2(iraq);// 两个国家发表声明usa.declare("停止开发核武器,否则接受打击");iraq.declare("我们没有开发核武器,也不怕侵略!");}
}

在这里插入图片描述

总结

  • 优点
    • 中介者的出现减少了Colleague之间的耦合,使得可以独立地改变和复用各个Colleague类和中介者
    • 由于把对象如何协作进行了抽象,将中介作为一个独立的改变并将其封装在一个对象中,将关注的对象从对象各自本身的行为转移到它们之间的交互上,可以从宏观角度去看待系统
  • 缺点
    • 由于中介者对象过度的集中化可能导致其复杂性大大增加,导致理解难度增加和可维护性降低
http://www.mnyf.cn/news/43666.html

相关文章:

  • 男人做鸭子网站百度搜索链接
  • 营销网站建设选择原则创建app平台
  • 怎么做网站需求分析建站之星网站
  • 广告行业网推广优化关键词
  • 做性的视频网站珠海seo排名收费
  • 石油化工建设工程网站全球搜索网站排名
  • wordpress注入漏洞关键词优化怎么弄
  • 做图模板网站有哪些内容落实20条优化措施
  • 淘客网站怎么建立百度手机极速版
  • 常用来做网站的首页销售培训
  • 查看网站用什么语言做的洛阳seo网站
  • 做俄罗斯网站优化大师官网下载安装
  • 上传到网站根目录重庆seo优化公司
  • 深圳工业设计公司推荐如何优化seo
  • 沧州网站建设刘磊企业seo的措施有哪些
  • 做我女朋友恶搞网站如何在百度做推广
  • icp备案网站名称百度词条搜索排行
  • 嘉兴做营销型网站网站推广公司推荐
  • 如何做网站么口碑营销的主要手段有哪些
  • 公司网站是怎么制作和维护的企业网站优化服务公司
  • 中国世界排名前100的大学公司搜索seo
  • 网络推广的网站网站推广seo设置
  • 沈阳做微网站的公司百度助手下载安装
  • 做网站还是做阿里网络营销方法有哪些举例
  • 专业做视频的网站关键词林俊杰免费听
  • 网站后台怎么添加图片免费发布产品的网站
  • 凡客建站登录南宁seo外包要求
  • 厦门网站排名优化价格搜索引擎优化的英语简称
  • 二级建造师官网查询系统福建seo
  • 代做毕业设计找哪个网站百度账号购买网站