• JS常用的设计模式(6)——桥接模式


    桥接模式的作用在于将实现部分和抽象部分分离开来, 以便两者可以独立的变化。在实现api的时候, 桥接模式特别有用。比如最开始的singleton的例子.

    var singleton = function( fn ){ 
        var result; 
        return function(){ 
            return result || ( result = fn .apply( this, arguments ) ); 
        } 
    }<span id="more-3614"></span> 
    var createMask = singleton( function(){ 
    return document.body.appendChild( document.createElement('div') ); 
     }) 

    singleton是抽象部分, 而createMask是实现部分。 他们完全可以独自变化互不影响。 如果需要再写一个单例的createScript就一点也不费力.

    var createScript = singleton( function(){ 
    return document.body.appendChild( document.createElement('script') ); 
     }) 

    另外一个常见的例子就是forEach函数的实现, 用来迭代一个数组.

    forEach = function( ary, fn ){ 
      for ( var i = 0, l = ary.length; i < l; i++ ){ 
        var c = ary[ i ]; 
        if ( fn.call( c, i, c ) === false ){ 
          return false; 
        } 
       } 
    } 

    可以看到, forEach函数并不关心fn里面的具体实现. fn里面的逻辑也不会被forEach函数的改写影响.

    forEach( [1,2,3], function( i, n ){ 
     alert ( n*2 ) 
    } ) 
    forEach( [1,2,3], function( i, n ){ 
      alert ( n*3 ) 
    } ) 
  • 相关阅读:
    使用通配符查询
    使用聚合函数查询
    有趣的图标
    利用Office Chart 制作柱图(一个柱子)
    众多select
    对象不能从 DBNull 转换为其他类型。
    使用谓词进行查询
    使用数学函数查询
    学生信息表 通过选择年级和班级得到详细的学生信息名单
    使用时间函数查询
  • 原文地址:https://www.cnblogs.com/jymz/p/4259585.html
Copyright © 2020-2023  润新知