适配模式的作用是解决两个软件实体间的接口不兼容问题。使用适配器模式之后,原本由于接口不兼容而不能工作的两个软件实体可以一起工作。
原代码
var getGuangdongCity = function(){
var guangdongCity = [
{
name: 'shenzhen',
id: 11,
},{
name: 'guangzhou',
id: 12
}
];
return guangdongCity;
};
var render = function( fn ){
console.log('开始渲染广东省地图');
document.write( JSON.stringify( fn() ) );
}
render( getGuangdongCity );
当返回的数据结构改变时,旧的数据结构不适配:
var guangdongCity = {
shenzhen: 11,
guangzhou: 12,
zhuhai: 13,
};
新增一个数据格式转换的适配器
var addressAdapter = function( oldAddressfn ){
var address = {},
oldAddress = oldAddressfn();
for( var i = 0, c; c = oldAddress[ i++ ]; ){
addrss[ c.name ] = c.id;
}
return function(){
return address;
}
}
render( addressAdapter( getGuangdongCity ) );
网友评论