外观模式
外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。
模式作用:
- 在设计初期,应该有意识地将不同的两个层分离,比如经典的三层结构
- 在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,增加外观模式可以提供一个简单的接口,减少他们之间的依赖
- 在维护一个遗留的大型系统时,为系统开发一个外观Facade类,为设计粗糙和高度复杂的遗留代码一共比较清晰的接口,让新系统和Facade类对象交互
注意事项:
- 外观模式被开发者连续使用时会产生一定的性能问题,因为每次调用时都要检测功能的可用性(PS:可用函数的惰性加载来解决)
例子:
function stopEvent(e) {
// 同时阻止事件默认行为和时间冒泡
e.stopPropagation()
e.preventDefault()
}
// stopEvent本身就是外观
$('#btn').click(function(e){
stopEvent(e)
})
网友评论