新的跟旧的不兼容,也就是说使用者跟你现有的要求不兼容,需要进一步转化
介绍
- 旧接口格式和使用者不兼容
-
示例
-
常见使用场景
封装旧接口 ```javascript ajax({ url: “/api/getData”, type: “POST”, dataType: “json”, data: { id: 1 }, }).done(() => {});
// 处理:添加适配器 const $ = { ajax: (options) => ajax(options), };
- vue computed
![image.png](https://cdn.nlark.com/yuque/0/2021/png/1544252/1618124998659-2235a579-a421-4770-a39d-eaacd5e86498.png#align=left&display=inline&height=856&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1712&originWidth=1786&size=344440&status=done&style=none&width=893)
<a name="i9iMF"></a>
# 适配器模式代码示例
```javascript
class Adaptee {
specificRequest() {
return "德国标准插头";
}
}
class Target {
constructor() {
this.adaptee = new Adaptee();
}
request() {
let info = this.adaptee.specificRequest();
return `${info} - 转换器 - 中国标准插头`;
}
}
// test
let target = new Target();
let rst = target.request();
console.log(rst);
设计原理验证
- 将旧接口和使用者进行分离
- 符合开放封闭原则