JavaScript設計模式之面板模式執行個體,javascript設計模式
面板模式(門面模式),是一種相對簡單而又無處不在的模式。面板模式提供一個高層介面,這個介面使得用戶端或子系統更加方便調用。
用一段再簡單不過的代碼來表示:
複製代碼 代碼如下:
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();
}
設計模式中的面板模式一般是在什情況下使用的
面板模式就是將多個關係比較複雜的類放到一個外觀類中統一處理,從而外部調用起來只要與外觀打交道,而不必清除內部各個類之間的調用關係,簡化了用戶端調用的複雜度。就像《軟體秘笈-設計模式那點事》書中所列舉的糖醋排骨的例子:廚師就相當於外觀,我們想要吃什麼東西(比如糖醋排骨)只要問廚師(調用外觀)點就行了,廚師(外觀)會做好了給我們,而在這個過程中,我們完全不必知道糖醋排骨的製作流程,從而減少用戶端調用和各個處理類之間的耦合度。
建議你看一下《軟體秘笈-設計模式那點事》這本書,例子通俗易懂,讀了收穫很大! 希望以上內容對你有協助!
設計模式在JavaScript的開發中用處大不大?
設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。
既然是經驗總結,那肯定是前人工作總結的結晶。放到哪裡都是適用的,不單是java編程,現在C#很多地方都跟進設計模式。