有些时候旧代码接口不兼容现有的实现,那么就得加一个适配器转化一下,避免修改老接口导致很多问题。就想typec转usb一样。
代码举例:
class Adaptee {
standard() {
return '美国标准接口'
}
}
class Target {
constructor(){
this.adaptee = new Adaptee()
}
requert() {
let info = this.adaptee.standard()
return `${info} - 转换 - 中国标准插口`
}
}
let target = new Target()
let res = target.request()
console.log(res)
代码举例Vue-computed:
let vm = new Vue({
el: '#exapmle',
data: { massage: 'Hello' },
computed: {
// 转换 这就是一个适配器 代码里很常用
reversedMessage: function() {
return this.message.split('').reverse().join('')
}
}
})
- 旧接口和使用者分离
- 符合开放封闭原则