《JavaScript 設(shè)計模式與開發(fā)指南》筆記(二)

我是一名初級前端開發(fā)者糜俗,目前精力著眼于 Plain JavaScript 上堡妒,我的博客 if-true.com县爬,原文鏈接:《JavaScript 設(shè)計模式與開發(fā)指南》筆記(二)蜜暑。歡迎交流 :)


本書筆記分為三個部分晨川,也是按照全書目錄三個部分劃分的画恰,當(dāng)前是第二部分設(shè)計模式彭谁,另外兩部分分別是:《JavaScript 設(shè)計模式與開發(fā)指南》筆記(一)《JavaScript 設(shè)計模式與開發(fā)指南》筆記(三)

第二部分 設(shè)計模式

第4章 單例模式

  1. 單例模式定義

    保證一個類僅有一個實例允扇,并提供一個訪問它的全局訪問點缠局。標(biāo)準(zhǔn)的單例模式無非是用一個變量標(biāo)記當(dāng)前是否已經(jīng)為某個類創(chuàng)建過對象则奥。

  2. 代理模式

  3. 惰性單例模式

    在合適的時候才創(chuàng)建對象,并且只創(chuàng)建唯一的一個甩鳄。

  4. 降低全局變量帶來的命名污染方法

    1. 使用命名空間
    2. 使用閉包封裝私有變量

第5章 策略模式

  1. 策略模式的定義是:定義一系列的算法逞度,把它們一個個封裝起來,并且它們是可以相互替換妙啃。
  2. 策略模式的目的是將算法的使用與算法的實現(xiàn)分離開來档泽。
  3. 通過使用策略模式重構(gòu)代碼,消除了原程序中大片的條件分支語句揖赴。
  4. 三個例子:計算獎金馆匿、緩動動畫、表單驗證燥滑。

第6章 代理模式

  1. 保護(hù)代理和虛擬代理

  2. 虛擬代理實現(xiàn)圖片預(yù)加載

  3. 虛擬代理合并 HTTP 請求

  4. 虛擬代理在惰性加載中的應(yīng)用

  5. 緩存代理

  6. 其他代理模式

    1. 防火墻代理
    2. 遠(yuǎn)程代理
    3. 保護(hù)代理
    4. 智能引用代理
    5. 寫時復(fù)制代理
  7. JavaScript 開發(fā)中最常見的是虛擬代理和緩存代理渐北。

第7章 迭代器模式

第8章 發(fā)布-訂閱模式

  1. 優(yōu)點:一為時間上的解耦,二為對象之間的解耦铭拧。

第9章 命令模式

(needToReview)

第10章 組合模式

  1. 深度遍歷樹

  2. 組合模式可以方便地構(gòu)造一棵樹來表述對象的部分-整體結(jié)構(gòu)

第11章 模板方法模式

  1. 在模板方法模式中赃蛛,子類實現(xiàn)中的相同部分被上移到父類中,而不同的部分留在子類來實現(xiàn)搀菩。

第12章 享元模式

  1. 享元的核心是運用共享技術(shù)來有效支持大量細(xì)粒度的對象
  2. 如何劃分內(nèi)部狀態(tài)和外部狀態(tài)(P167)
  3. 享元模式是一種用時間換空間的優(yōu)化模式
  4. 當(dāng)對象沒有內(nèi)部狀態(tài)的時候呕臂,生產(chǎn)共享對象的工廠實際上變成了一個單例工廠。
  5. 對象池是另外一種性能優(yōu)化方案肪跋,跟享元模式有一些相似之處歧蒋,但沒有分離內(nèi)部狀態(tài)和外部狀態(tài)的過程。

第13章 職責(zé)鏈模式

  1. 銷售手機(jī)例子

第14章 中介者模式

  1. 面向?qū)ο笤O(shè)計鼓勵將行為分布到各個對象中州既,把對象劃分成更小的粒度谜洽,有助于增強對象的可復(fù)用性,但由于這些細(xì)粒度對象之間的關(guān)系激增吴叶,又有可能反過來降低它們的可復(fù)用性阐虚。中介者模式的作用就是解除對象與對象之間的緊耦合關(guān)系。

  2. 中介者模式是迎合迪米特法則的一種實現(xiàn)蚌卤。迪米特法則也叫最少知識原則敌呈,是指一個對象影噶盡可能少地了解另外的對象。

第15章 裝飾者模式

  1. 幾個例子
  2. 裝飾者模式與代理模式區(qū)別

第16章 狀態(tài)模式

  1. 通常談到封裝造寝,一般都會優(yōu)先封裝對象的行為,而不是對象的狀態(tài)吭练。但在狀態(tài)模式中剛好相反诫龙,狀態(tài)模式的關(guān)鍵是把事物的每種狀態(tài)都封裝成單獨的類。
  2. 狀態(tài)模式和策略模式

第17章 適配器模式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鲫咽,一起剝皮案震驚了整個濱河市签赃,隨后出現(xiàn)的幾起案子谷异,更是在濱河造成了極大的恐慌,老刑警劉巖锦聊,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歹嘹,死亡現(xiàn)場離奇詭異,居然都是意外死亡孔庭,警方通過查閱死者的電腦和手機(jī)尺上,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來圆到,“玉大人怎抛,你說我怎么就攤上這事⊙康” “怎么了马绝?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長挣菲。 經(jīng)常有香客問我富稻,道長,這世上最難降的妖魔是什么白胀? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任椭赋,我火速辦了婚禮,結(jié)果婚禮上纹笼,老公的妹妹穿的比我還像新娘纹份。我一直安慰自己,他們只是感情好廷痘,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布蔓涧。 她就那樣靜靜地躺著,像睡著了一般笋额。 火紅的嫁衣襯著肌膚如雪元暴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天兄猩,我揣著相機(jī)與錄音茉盏,去河邊找鬼。 笑死枢冤,一個胖子當(dāng)著我的面吹牛鸠姨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淹真,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼讶迁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了核蘸?” 一聲冷哼從身側(cè)響起巍糯,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤啸驯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后祟峦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罚斗,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年宅楞,在試婚紗的時候發(fā)現(xiàn)自己被綠了针姿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡咱筛,死狀恐怖搓幌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迅箩,我是刑警寧澤溉愁,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站饲趋,受9級特大地震影響拐揭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奕塑,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一堂污、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧龄砰,春花似錦盟猖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至固蚤,卻和暖如春娘汞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背夕玩。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工你弦, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人燎孟。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓禽作,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揩页。 傳聞我的和親對象是個殘疾皇子领迈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容