门面模式

门面模式有俩个作用:1是简化类的接口;2是消除类与使用它的客户代码之间的耦合。几乎所有js库的核心原则。这也就是封装的目的。

比如每次点击,拖动和移动某个东西,实际是跟一个门面打交道

function addEvent(el,type,fn){

   if(window.addEventListener){

      el.addEventListener(type,fn,false);

   }else if(window.attachEvent){

        el.attachEvent('on'+type,fn); 

   }else{

     el['on'+type]=fn;

}

}

 addEvent函数是一个基本的门面,有了它就有了一种为DOM节点添加事件监听器的简便方法。你不用每次都去进行浏览器事件的甄别。

2.门面模式的另外一个表现就是函数的组合。又叫便利函数

function a(){
}
function b(){
}
function ab(){
a();
b();
}

 判断是否应用门面模式的关键在于辨别是否存在哪些反复成组出现的代码。如果函数b出现在函数a后这种情景经常出现,那么也许应该考虑添加一个把这俩个函数组合起来的门面函数

 再就是比如判别浏览器差别问题最好的解决办法就是将这些差异抽取到门面方法中。提供更一致的结合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值