前言
所谓外观模式在我们实际运用中被大量运用到了,比如著名的jquery,它就是一个前端库,里面封装了各种各样的方法,我们使用这个库可以不用去考虑浏览器兼容情况,我们要知道,浏览器兼容一直是一个很让人头疼的事情。而Jquery库为我们解决了这些困扰。
什么是外观模式?
外观模式为子系统中的一组接口提供了一个一致的界面,此模块定义了一个高层接口,这个接口值得这一子系统更加容易使用。
外观模式在JS中常常用于解决浏览器兼容性问题。
源码实现
//外观模式实现浏览器不同情况下监听事件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;}}
很简单对吧,其实就是这么简单,它只不过对外提供了一个统一的接口,里面的逻辑不会暴露出去,我们也不会去关心里面到底是怎么实现的,我们只需要保证调用该接口能够在不同浏览器下达到同意的效果,所以大多来处理浏览器兼容性问题。
