Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 879 Bytes

外观模式.md

File metadata and controls

26 lines (21 loc) · 879 Bytes

JavaScript设计模式之外观模式

概念

外观模式:为一组复杂子系统接口提供一个更高级的统一接口,通过这个接口使得对子系统访问更加的容易。

代码演示

// 使用外观模式注册事件监听
function addEvent(dom,type,fn) {
  if(dom.addEventListener){
      dom.addEventListener(type,fn,false);
  }else if(dom.attachEvent){
      dom.attachEvent('on'+type,fn);
  }else{
      dom['on'+type] = fn;
  }
}
// 使用外观模式获取事件对象

var getEvent = function(event) {
  return event || window.event;
}

通过对接口的二次封装,使其简单易用,隐藏起内部的复杂度,外观模式就是对接口的外层包装,以供上层代码调用。因此外观模式封装的接口方法不需要接口的具体实现,只需要按照接口的使用规则使用即可。