Skip to content
微信公众号

适配器模式

我们需要一个对象的 API 提供能力,但它的格式不一定完全适合我们的格式要求。这就要转换一下。

例如电脑、手机的电源适配器

演示

ts
// 电源插口
class Source {
    supply() {
        return '220V 电源'
    }
}

// 适配器
class Adapter {
    source = new Source()
    adaptedSupply() {
        const sourceRes = this.source.supply()
        return `${sourceRes} --> 12V 电源`
    }
}

// 手机使用
const adapter = new Adapter()
const res = adapter.adaptedSupply()
console.log(res)

场景

Vue computed

js
// Vue 组件配置
{
    data() {
        return {
            userList: [
                { id: 1, name: '张三' },
                { id: 2, name: '李四' },
                { id: 3, name: '王五' },
            ]
        }
    },
    computed: {
        userNameList() {
            this.userList.map(user => user.name) // ['张三', '李四', ... ]
        }
    }
}

本站总访问量次,本站总访客数人次
Released under the MIT License.