JavaScript設(shè)計(jì)模式之外觀模式實(shí)例
外觀模式(門(mén)面模式),是一種相對(duì)簡(jiǎn)單而又無(wú)處不在的模式。外觀模式提供一個(gè)高層接口,這個(gè)接口使得客戶(hù)端或子系統(tǒng)更加方便調(diào)用。
用一段再簡(jiǎn)單不過(guò)的代碼來(lái)表示:
var getName = function(){
return ”svenzeng”
}
var getSex = function(){
return ‘man'
}
如果你需要分別調(diào)用getName和getSex函數(shù). 那可以用一個(gè)更高層的接口getUserInfo來(lái)調(diào)用.
var getUserInfo = function(){
var info = a() + b();
return info;
}
答案是顯而易見(jiàn)的,飯?zhí)玫某床藥煾挡粫?huì)因?yàn)槟泐A(yù)定了一份燒鴨和一份白菜就把這兩樣菜炒在一個(gè)鍋里。他更愿意給你提供一個(gè)燒鴨飯?zhí)撞?。同樣在程序設(shè)計(jì)中,我們需要保證函數(shù)或者對(duì)象盡可能的處在一個(gè)合理粒度,畢竟不是每個(gè)人喜歡吃燒鴨的同時(shí)又剛好喜歡吃白菜。
外觀模式還有一個(gè)好處是可以對(duì)用戶(hù)隱藏真正的實(shí)現(xiàn)細(xì)節(jié),用戶(hù)只關(guān)心最高層的接口。比如在燒鴨飯?zhí)撞偷墓适轮?,你并不關(guān)心師傅是先做燒鴨還是先炒白菜,你也不關(guān)心那只鴨子是在哪里成長(zhǎng)的。
最后寫(xiě)個(gè)我們都用過(guò)的外觀模式例子:
var stopEvent = function( e ){ //同時(shí)阻止事件默認(rèn)行為和冒泡
e.stopPropagation();
e.preventDefault();
}
- 設(shè)計(jì)模式中的facade外觀模式在JavaScript開(kāi)發(fā)中的運(yùn)用
- 深入理解JavaScript系列(30):設(shè)計(jì)模式之外觀模式詳解
- JavaScript設(shè)計(jì)模式之外觀模式介紹
- javascript設(shè)計(jì)模式 – 裝飾模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 組合模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 橋接模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 適配器模式原理與應(yīng)用實(shí)例分析
- JS中間件設(shè)計(jì)模式的深入探討與實(shí)例分析
- javascript設(shè)計(jì)模式 – 建造者模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 原型模式原理與應(yīng)用實(shí)例分析
- javascript設(shè)計(jì)模式 – 外觀模式原理與用法實(shí)例分析
相關(guān)文章
讓AJAX不依賴(lài)后端接口實(shí)現(xiàn)方案
網(wǎng)頁(yè)中的ajax請(qǐng)求越來(lái)越多,或者應(yīng)用開(kāi)始就一直使用ajax與后端進(jìn)行數(shù)據(jù)交換,本文將詳細(xì)介紹,需要的朋友可以參考下2012-12-12JS中confirm,alert,prompt函數(shù)使用區(qū)別分析
JS中confirm,alert,prompt函數(shù)使用區(qū)別分析,需要的朋友可以參考下。2010-04-04uniapp跨頁(yè)面?zhèn)髦祏ni.$emit和uni.$on的使用及踩坑實(shí)戰(zhàn)
使用uni.$emit觸發(fā)事件后,對(duì)應(yīng)的uni.$on就會(huì)監(jiān)聽(tīng)到事件觸發(fā),在回調(diào)中去執(zhí)行相關(guān)的邏輯,下面這篇文章主要給大家介紹了關(guān)于uniapp跨頁(yè)面?zhèn)髦祏ni.$emit和uni.$on的使用及踩坑實(shí)戰(zhàn)的相關(guān)資料,需要的朋友可以參考下2023-04-04詳解JavaScript基本類(lèi)型和引用類(lèi)型
這篇文章主要介紹了JavaScript基本類(lèi)型和引用類(lèi)型,基本類(lèi)型中還包含了類(lèi)型轉(zhuǎn)換,感興趣的小伙伴們可以參考一下2015-12-12JavaScript編程的10個(gè)實(shí)用小技巧
盡管我使用Javascript來(lái)做開(kāi)發(fā)有很多年了,但它常有一些讓我很驚訝的小特性。對(duì)于我來(lái)說(shuō),Javascript是需要持續(xù)不斷的學(xué)習(xí)的。2014-04-04