设计模式-javascript实现【适配器模式】
定义:适配器模式主要用来解决两个已有接口之间不匹配的问题,它不考虑这些接口是怎样实现的,也不考虑它们将来
可能会如何演化。适配器模式不需要改变已有的接口,就能够使它们协同作用。
1.适配器模式的实现
通过adapter类包装为统一的接口
class GooleMap {
show(){
console.log('render google map');
}
}
class BaiduMap {
display(){
console.log('render baidu map');
}
}
class BaiduMapAdapter {
constructor(baiduMap){
this.baiduMap = baiduMap;
}
show() {
return this.baiduMap.display();
}
}
function renderMap(map){
if(typeof map.show === 'function'){
map.show();
}
}
renderMap(new GooleMap());
renderMap(new BaiduMapAdapter(new BaiduMap()));