前端设计模式 适配器模式

适配器模式:旧接口格式和使用者不兼容,中间加一个适配转换接口

 

比如国外的插座跟国内的插座不一样,我们需要买个转换器去兼容。

 

uml类图

 

 

 

代码
class Adaptee {
    specificRequest() {
        return '德国标准的插头';
    }
}

class Target {
    constructor() {
        this.adaptee = new Adaptee();
    }
    request() {
        let info = this.adaptee.specificRequest();
        return `${info} -> 转换器 -> 中国标准的插头`
    }
}

// 测试
let client = new Target();
client.request();

 



场景:封装旧接口
// 自己封装的ajax,使用方式如下:
ajax({
    url: '/getData',
    type: 'Post',
    dataType: 'json',
    data: {
        id: '123'
    }
}).done(function(){

})
// 但因为历史原因,代码中全都是:
// $.ajax({...})

 

这个时候需要一个适配器
// 做一层适配器
var $ = {
    ajax: function (options) {
        return ajax(options)
    }
}

 

posted @ 2019-11-02 11:00  wzndkj  阅读(335)  评论(0编辑  收藏  举报