JavaScript設計模式經典之外觀模式

alloyteam發表於2014-09-29

外觀模式(門面模式),是一種相對簡單而又無處不在的模式。外觀模式提供一個高層介面,這個介面使得客戶端或子系統更加方便呼叫。
用一段再簡單不過的程式碼來表示

var getName = function(){
return ”svenzeng”
}
var getSex = function(){
return ‘man’
}

如果你需要分別呼叫getName和getSex函式. 那可以用一個更高層的介面getUserInfo來呼叫.

var getUserInfo = function(){
var info = a() + b();
return info;
}

答案是顯而易見的,飯堂的炒菜師傅不會因為你預定了一份燒鴨和一份白菜就把這兩樣菜炒在一個鍋裡。他更願意給你提供一個燒鴨飯套餐。同樣在程式設計中,我們需要保證函式或者物件儘可能的處在一個合理粒度,畢竟不是每個人喜歡吃燒鴨的同時又剛好喜歡吃白菜。
外觀模式還有一個好處是可以對使用者隱藏真正的實現細節,使用者只關心最高層的介面。比如在燒鴨飯套餐的故事中,你並不關心師傅是先做燒鴨還是先炒白菜,你也不關心那隻鴨子是在哪裡成長的。

最後寫個我們都用過的外觀模式例子

var stopEvent = function( e ){   //同時阻止事件預設行為和冒泡
e.stopPropagation();
e.preventDefault();
}

相關文章