设计模式-适配器模式

// 适配器模式:将一个类的接口转换成另一个接口,使类之间接口的不兼容问题通过适配器得到解决



//Eg1:适配异类框架

var A = A || {};

var $ = jQuery = require('./jQuery');

A.g = function (id) {
    return document.getElementById(id);
}

A.on = function (id,type,fn) {
    var dom = typeof id === 'string' ? this.g(id):id;
    if(dom.addEventListener) {
        dom.addEventListener(type,fn,false);
    }else if(dom.attachEvent) {
        dom.attachEvent('on'+type,fn);
    }else {
        dom['on' + type] = fn;
    }
}


// A 需要适配jQuery.js,方法如下

A.g = function (id) {
    return $(id).get(0);
}

A.on = function (id,type,fn) {
    var dom = typeof id === 'string' ? this.g(id) : id;
    dom.on(type,fn);
}


//Eg2:参数适配器

function doSomething(argument) {
    var _argument = {
        "title":"默认名字",
        "gender":0,
        "description":"默认描述文字",
        "color":"#ff6600",
        "padding":"10rpx"
    }
    for (arg in argument) {
        _argument[arg] = argument[arg] || _argument[arg];
    }
    // do something...
}

代码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容