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

餐饮网站建设的目的网站建设内容与实现功能

餐饮网站建设的目的,网站建设内容与实现功能,广州番禺区好玩的景点,wordpress批量发邮件中介者模式 中介者模式又称为调解者模式或调停者模式#xff0c;属于行为型模式。它用一个中介对象封装系列的对象交互#xff0c;中介者使各对象不需要显示地相互作用#xff0c;从而使其耦合松散#xff0c;而且可以独立地改变它们之间的交互。 中介者模式包装了一系列对…中介者模式 中介者模式又称为调解者模式或调停者模式属于行为型模式。它用一个中介对象封装系列的对象交互中介者使各对象不需要显示地相互作用从而使其耦合松散而且可以独立地改变它们之间的交互。 中介者模式包装了一系列对象相互作用的方式使得这些对象不必相互明显作用。从而使它们可以松散耦合。当某些对象之间的作用发生改变时不会立即影响其他的一些对象之间的作用。保证这些作用可以彼此独立的变化。其核心思想是通过中介者解耦系统各层次对象的直接耦合层次对象的对外依赖通信统统交由中介者转发。 中介者模式通过提供一个中介类将系统各层次对象间的多对多关系变成一对多关系将复杂的网状结构变成以调停者为中心的星形结构达到降低系统的复杂性提高可扩展性的作用。   应用场景 当多个类相互耦合形成了网状结构则可以考虑使用中介者模式进行优化。 1、系统中对象之间存在比较复杂的引用关系导致它们之间的依赖关系结构混乱而且难以复用该对象。2、想通过一个中间类来封装多个类中的行为而又不想生成太多的子类。 飞行器驾驶员之间不会通过相互沟通来决定下一架降落的飞机。 所有沟通都通过控制塔台进行。 主要角色 1.抽象中介者(Mediator) 定义统一的接口用于各同事角色之间的通信 2.具体中介者(ConcreteMediator) 从具体的同事对象接收消息向具体同事对象发出命令协调各同事间的协作 3.抽象同事类(Colleague) 每一个同事对象均需要依赖中介者角色与其他同事间通信时交由中介者进行转发协作 4.具体同事类(ConcreteColleague) 负责实现自发行为Self-Method),转发依赖方法   优缺点 优点 1.减少类间依赖将多对多依赖转化成了一对多降低了类间耦合2.类间各司其职符合迪米特法则。 缺点 1.中介者模式中将原本多个对象直接的相互依赖变成了中介者和多个同事类的依赖关系。当同事类越多时中介者就会越臃肿变得复杂且难以维护。 基本使用 创建抽象中介者 public abstract class Mediator {protected ConcreteColleagueA colleagueA;protected ConcreteColleagueB colleagueB;public void setColleageA(ConcreteColleagueA colleague) {this.colleagueA colleague;}public void setColleageB(ConcreteColleagueB colleague) {this.colleagueB colleague;}// 中介者业务逻辑public abstract void transferA();public abstract void transferB(); } 创建具体中介者 public class ConcreteMediator extends Mediator {/*** 由具体同事类A向具体同事对象B发出指令*/Overridepublic void transferA() {this.colleagueB.selfMethodB();}/*** 由具体同事类B向具体同事对象A发出指令*/Overridepublic void transferB() {this.colleagueA.selfMethodA();} } 创建抽象同事类 public abstract class Colleague {protected Mediator mediator;public Colleague(Mediator mediator) {this.mediator mediator;} } 创建具体同事类 public class ConcreteColleagueA extends Colleague {public ConcreteColleagueA(Mediator mediator) {super(mediator);this.mediator.setColleageA(this);}/*** 自有方法*/public void selfMethodA() {System.out.println( this.getClass().getSimpleName() 收到中介协作通知selfMethodA自有方法执行);}/*** 依赖方法*/public void depMethodA() {System.out.println( this.getClass().getSimpleName() depMethodA通知中介者进行转发协作);// 中介者进行转发协作this.mediator.transferA();} } public class ConcreteColleagueB extends Colleague {public ConcreteColleagueB(Mediator mediator) {super(mediator);this.mediator.setColleageB(this);}/*** 自有方法*/public void selfMethodB() {System.out.println(this.getClass().getSimpleName() 收到中介协作通知selfMethodB自有方法执行);}/*** 依赖方法*/public void depMethodB() {System.out.println(this.getClass().getSimpleName() depMethodB通知中介者进行转发协作);// 中介者进行转发协作this.mediator.transferB();} } 客户端执行 public static void main(String[] args) {// 创建抽象中介者Mediator mediator new ConcreteMediator();// 具体同事类ConcreteColleagueA colleagueA new ConcreteColleagueA(mediator);ConcreteColleagueB colleagueB new ConcreteColleagueB(mediator);// 中介者进行转发协作,A转发给BcolleagueA.depMethodA();System.out.println(-------------------------);// 中介者进行转发协作,B转发给AcolleagueB.depMethodB();} ConcreteColleagueA depMethodA通知中介者进行转发协作 ConcreteColleagueB收到中介协作通知selfMethodB自有方法执行 ------------------------- ConcreteColleagueB depMethodB通知中介者进行转发协作 ConcreteColleagueA收到中介协作通知selfMethodA自有方法执行
http://www.hkea.cn/news/14433672/

相关文章:

  • 汕头建网站教育网站开发需求说明书
  • 上海网站搜索引擎优化开车网址来一个
  • h5做的分销网站可以自己设计装修的免费软件
  • 做外链音乐网站建筑设计公司资质
  • 有没有免费做网站的网站qq在线代码
  • 河口企业网站开发公司做网站会出现哪些问题
  • 百度站长网站提交提升网页优化排名
  • 网站开发团队 人员优设网app安卓下载
  • 网站建设互诺科技移动互联网站开发与维护
  • 顺企网杭州网站建设买外贸服装去哪个网站
  • 亦庄网站建设公司东莞市住建局官网
  • 网站上线后如何换模版高端网站开发教程
  • 做网站运营有前途吗网站建设目的和意义
  • 网站建设 风险防控上海建智建设工程咨询
  • 纪检部门网站举报建设wordpress开启全站ssl
  • 做翻页电子书的网站水果网站策划书
  • 团购网站建设怎么样建设网站网站建站
  • 泉州网站seo公司手机优化不到100怎么办
  • 如何选择一家好的网站建设公司网络营销方式的优缺点
  • 益阳网站建设网站砚山县住房和城乡建设局网站
  • 给个免费的网站好人有好报wordpress 图片属性
  • 西安网站网页设计郑州启凡网络科技公司
  • 在网站上怎么做招聘信息绵阳房产网
  • 网站空间免费新品发布会流程策划方案
  • 网站前端设计要做什么的wordpress ajax评论
  • 做外贸网站需要什么卡东莞教育网官网
  • 网站购买空间wordpress输出到模板
  • 怎么建设一个淘宝客网站立码软件做网站
  • 微软公司做网站的软件十个免费域名
  • 网站数据库空间大小可以做两个网站指向同一个域名