前情
在前端开发越来越复杂的今天,越来越需要一些设计模式来提高开发质量和效率
定义
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
代码演示
通过适配器模式不修改源数据的前提下获取想要的数据结构
function getUsers() {
return [
{
name: 'zs',
age: 30
},
{
name: 'ls',
age: 20
}
]
}
// 不想修改上面代码,但想获取 [{zs: 30}, {ls: 20}]格式的数据
/**
* 适配器
* @param {Array} users
*/
function adaptor(users) {
let result = [];
users.forEach(user => {
result.push({
[user.name]: user.age
})
});
return result;
}
let res = getUsers();
console.log(res);
// [ { name: 'zs', age: 30 }, { name: 'ls', age: 20 } ]
console.log(adaptor(res));
// [ { zs: 30 }, { ls: 20 } ]