美文网首页
设计模式之中介者模式

设计模式之中介者模式

作者: Binaryify | 来源:发表于2016-03-26 23:57 被阅读161次

    中介者模式

    中介者模式(Mediator Pattern):定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。
    (注意:中介者模式和代理模式字面意思相近,但却是完全不同的模式)

    模式作用:

    1. 在软件开发中,中介者是一个行为设计模式,通过提供一个统一的接口让系统不同部分进行通信.一般,如果系统有很多子模块需要直接沟通,都要创建一个中央控制点让其各模块通过中央控制点进行交互.中介者模式可以让这些子模块不需要直接沟通,从而达到进行解耦的目的.

    注意事项:

    1. 当系统出现了多对多交互复杂的对象群时,先不急于使用中介者模式,而是思考一下是不是系统设计有问题.

    例子:

    //飞机
    var feiji=function(name){
      this.name=name;
    }
    feiji.prototype.send=function(msg,to){
      console.log(this.name+"发送了信息")
      tatai.send(msg,to)
    }
    feiji.prototype.jieshou=function(msg){
      console.log(this.name+"[接收到]"+msg)
    }
    //塔台
    var tatai={
      all:{},
      zhuce:function(f){
        this.all[f.name]=f;
      },send:function(msg,to){
        this.all[to.name].jieshou(msg)
      }
    }
    var feiji1=new feiji("feiji1");
    var feiji2=new feiji("feiji2");
    tatai.zhuce(feiji1);
    tatai.zhuce(feiji2);
    feiji1.send('我马上降落,还有200米',feiji2)
    //feiji1发送了信息
    //feiji2[接收到]我马上降落,还有200米
    
    

    相关文章

      网友评论

          本文标题:设计模式之中介者模式

          本文链接:https://www.haomeiwen.com/subject/upndlttx.html