门面模式(facade)一般有两个作用:
1、简化类的接口
2、消除类与使用它的客户代码之间的耦合
一言不合上代码:
// 门面模式的概念:简化API接口 最经典的就是事件
EventUtil = {
// 添加事件
addHandler : function(element, type, handler){
if(element.addEventListener){ // FF
element.addEventListener(type, handler, false);
}else if(element.attachEvent){ // IE
element.attachEvent('on' + type, handler);
}
},
// 移除事件
removeHandler : function(element, type, handler){
if(element.removeEventListener){
element.removeEventListener(type, handler, false); // FF
}else if(element.detachEvent){
element.detachEvent('on' + type, handler); // IE
}
}
};
// 2个函数 a,b
function a(x){
// do something...
}
function b(y){
// do something...
}
// 这是最简单的一个门面模式
function ab(x, y){
a(x);
b(y);
}