Skip to content

Latest commit

 

History

History
23 lines (19 loc) · 816 Bytes

File metadata and controls

23 lines (19 loc) · 816 Bytes

一. 外观模式

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

// 使用外观模式注册事件监听
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;
};

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