zoukankan      html  css  js  c++  java
  • js设计模式——桥接模式


    定义:将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化。

    常用场景:在js中,桥接模式常用于事件监听器和ajax请求的解耦,以便于进行单元测试


    举个栗子

        普通方法。

    var btn=$('#btn');
    btn.on('click',function () {
      var myid=this.id; $.ajax({ url:
    'test.html', data:{ id:myid }, dataType:'html', success:function(data){ console.log(data); } }); })

    在上面的代码中,鼠标点击按钮元素获取元素的id值,并将id值作为ajax请求的参数,发送到服务器。

    可以看到,click事件和ajax请求紧密的联系起来了,这样的话ajax请求就无法进行单元测试,必须通过点击按钮事件来测试ajax请求的正确性。

        桥接模式

    var btn=$('#btn');
    btn.on('click',function () {
      bridge(this.id);
    })
    function bridge(id){
      $.ajax({
        url:'test.html',
        data:{
          id:id
        },
        dataType:'html',
        success:function(data){
          console.log(data);
        }
      });
    }

    在桥接模式中,ajax请求不再依赖click事件,而是bridge函数,相当于在click事件和ajax请求中增加一座桥即bridge函数,

    这样就实现了click事件和ajax请求的解耦,从而进行单元测试时不再需要一次次的回到浏览器点击按钮了!~~


  • 相关阅读:
    SQL命令
    MySQL、Oracle、SQL Server
    函数调用
    php 读取图片显示在页面上 demo
    浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
    jquery $.ajax()方法
    HTML 字符实体
    php 内置支持的标签和属性
    java-03 变量与运算符
    java-02 JDK安装与环境变量配置&安装编程IDE
  • 原文地址:https://www.cnblogs.com/byronvis/p/4766735.html
Copyright © 2011-2022 走看看