试用场合:
对于反复使用的可以作为门面模式,如果b函数常出现在a函数之后,就适合把他们组合成一个门面模式。jquery的选择权,浏览器兼容判断就利用很多门面模式,将常用功能封装。
门面模式之利:
类似工具的作用
门面模式之弊:
防止小题大做
门面模式结构:
function a(x) {
// do stuff here...
}
function b(y) {
// do stuff here...
}
function ab(x, y) {
a(x);
b(y);
}
适配器模式适用场合:
客户点系统与现有API不兼容场合。
适配器模式之利:
一个新的接口老包装老的接口,无需做重大改动
适配器模式之弊:
如果有重写代码的必要的话,可以忽略适配器,因为适配器会带来一些不必要的开销。
适配器结构:
var clientObject = {
string1: 'foo',
string2: 'bar',
string3: 'baz'
};
function interfaceMethod(str1, str2, str3) {
...
}
function clientToInterfaceAdapter(o) {
interfaceMethod(o.string1, o.string2, o.string3);
}
/* Usage. */
clientToInterfaceAdapter(clientObject);
转载请注明:谷谷点程序 » 《javascript设计模式》总结——门面模式、适配器模式