外觀模式
外觀模式(Facade)鹦倚,為子系統(tǒng)中的一組接口提供一個一致的界面,定義一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。
模式作用:
- 在設計初期,應該有意識地將不同的兩個層分離,比如經典的三層結構
- 在開發(fā)階段,子系統(tǒng)往往因為不斷的重構演化而變得越來越復雜,增加外觀模式可以提供一個簡單的接口,減少他們之間的依賴
- 在維護一個遺留的大型系統(tǒng)時,為系統(tǒng)開發(fā)一個外觀Facade類,為設計粗糙和高度復雜的遺留代碼一共比較清晰的接口,讓新系統(tǒng)和Facade類對象交互
注意事項:
- 外觀模式被開發(fā)者連續(xù)使用時會產生一定的性能問題,因為每次調用時都要檢測功能的可用性(PS:可用函數的惰性加載來解決)
例子:
function stopEvent(e) {
// 同時阻止事件默認行為和時間冒泡
e.stopPropagation()
e.preventDefault()
}
// stopEvent本身就是外觀
$('#btn').click(function(e){
stopEvent(e)
})