设计模式-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()));
posted @ 2023-03-14 11:11  箫笛  阅读(97)  评论(0编辑  收藏  举报