アダプターモード
- 古いインターフェース形式はユーザーと互換性がありません
- 中央に適応変換インターフェースを追加する
class Adaptee {
specificRequest() {
return '德国标准的插头'
}
}
class Target {
constructor () {
this.adaptee = new Adaptee()
}
request() {
let info = this.adaptee.specificRequest()
return `${
info} -> 转换器 -> 中国标准的插头`
}
}
let target = new Target()
let res = target.request()
console.log(res)
シーン
- 古いインターフェースをカプセル化する
vue computed
古いインターフェースをカプセル化する
ajax({
url: '/getData',
type: 'Post',
dataType: 'json',
data: {
id: "123"
}
})
.done(funciton(){
})
const $ = {
ajax: funciton (options) {
return ajax(options)
}
}
vue computed
<div id="example">
<p>{
{
message }}</p>
<p>{
{
reverseMessage }}</p>
</div>
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
reverseMessage: funciton () {
return this.message.split('').reverse().join('')
}
}
})
設計原理の検証
- 古いインターフェースをユーザーから分離する
- オープンおよびクローズド原則に準拠する