JS設(shè)計(jì)模式-外觀模式

什么是外觀模式

本段內(nèi)容來自于 JAdam博客

有些人可能炒過股票,但其實(shí)大部分人都不太懂,這種沒有足夠了解證券知識(shí)的情況下做股票是很容易虧錢的,剛開始炒股肯定都會(huì)想,如果有個(gè)懂行的幫幫手就好,其實(shí)基金就是個(gè)好幫手,支付寶里就有許多的基金,它將投資者分散的資金集中起來,交由專業(yè)的經(jīng)理人進(jìn)行管理,投資于股票、債券、外匯等領(lǐng)域,而基金投資的收益歸持有者所有,管理機(jī)構(gòu)收取一定比例的托管管理費(fèi)用。

其實(shí)本篇要說的這個(gè)設(shè)計(jì)模式就和這很有關(guān)系,由于當(dāng)投資者自己買股票時(shí),由于眾多投資者對(duì)眾多股票的聯(lián)系太多,反而不利于操作,這在軟件中就成為耦合性太高,而有了基金后,就變成眾多用戶只和基金打交道,關(guān)心基金的上漲和下跌,而實(shí)際上的操作確是基金經(jīng)理人與股票和其它投資產(chǎn)品打交道,這就是外觀模式。

介紹
  • 為子系統(tǒng)中的一組接口提供了一個(gè)高級(jí)接口
  • 使用者使用這個(gè)高級(jí)接口
    看完后應(yīng)該有一點(diǎn)印象,在看看這張圖片就理解了


    外觀模式.png

    如果沒有這個(gè)高級(jí)接口,我們的代碼鏈接可能很混亂難維護(hù)。
    外觀模式在結(jié)合業(yè)務(wù)的場(chǎng)景中很常用。

UML類圖
uml_facade.png
場(chǎng)景

下面的列子就是一種簡(jiǎn)單的外觀模式

function bindEvent(elem, type, selector, fn) {
  if ( fn == null) {
    fn = selector
    selector = null
  }  
  // *****
}

//  調(diào)用
bindEvent(elem, 'click', '#div1', fn)
bindEvent(elem, 'click', fn)
設(shè)計(jì)原則驗(yàn)證

不符合單一職責(zé)原則和開放封閉原則,因此要注意謹(jǐn)慎使用,不可濫用

  1. 本文資料來自慕課網(wǎng)-雙越老師-Javascript 設(shè)計(jì)模式系統(tǒng)講解與應(yīng)用視頻課程。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 曾國(guó)藩一日一課(2017年11月19日 第017期) 愚民無知,于素所未見未聞之事,輒疑其難于上天。一人告退,百人...
    0待定0閱讀 129評(píng)論 0 0
  • 圍棋分黑白二色,兩個(gè)對(duì)弈,輪番落子,一般黑子先行,棋子下在棋盤上的交叉點(diǎn)上,不能下在方格里,下好一手棋之后不能移動(dòng)...
    才為閱讀 2,481評(píng)論 0 5

友情鏈接更多精彩內(nèi)容