设计模式 适配器模式

隐身守侯 提交于 2019-12-03 06:41:22
适配器模式:旧接口格式和使用者不兼容,中间加一个适配转换接口

 

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

 

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)
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!