讀《如何高效記憶》13--實踐篇VS 23種設(shè)計模式

    本篇使用了故事鏈法和關(guān)鍵字編詩法、站樁定位法,
    對軟件設(shè)計中的23設(shè)計記憶的方法缀遍;

先將23將設(shè)計模式分而治之新博,分為主要三類【創(chuàng)建型模式】改抡、【結(jié)構(gòu)型模式】、【行為型模式】;這點是運(yùn)用了記憶策略中的分組方式;

第一抖锥、在創(chuàng)建型模式,由于就五個模式碎罚,我使用了故事鏈法進(jìn)行記憶磅废;故事鏈法就是講A,提到B荆烈,然后使用B拯勉,提到C。憔购。谜喊。N;
第二倦始、在結(jié)構(gòu)型中,有七個模式山卦,我就提取他們中的一個關(guān)鍵字鞋邑,形成“時(適)裝代外巧合元”;
第三账蓉、在行為模式中枚碗,有11種,比較多铸本,不適合使用上面的方式肮雨,我就使用了13-23的數(shù)字編碼跟這些模式對應(yīng)進(jìn)行編碼;基本編碼完一遍箱玷,后面就全部記憶了怨规。
第四陌宿、在設(shè)計原則中,還是使用關(guān)鍵字編詩法“一里波丰,依離壳坪,特合!”掰烟;

備注:關(guān)鍵字編詩爽蝴,前提是自己要多讀幾遍關(guān)鍵字對應(yīng)的內(nèi)容,達(dá)到熟練與理解的狀態(tài)纫骑;關(guān)鍵編詩是輔助后期的記憶蝎亚。

當(dāng)然你記下這些設(shè)計模式,只是第一步先馆,學(xué)計算機(jī)的同學(xué)发框,還需要知識他們的原理,那些設(shè)計應(yīng)該使用在什么場合磨隘,有什么優(yōu)缺點缤底,否則記憶了是沒有什么用的;

by the way :
當(dāng)有人在面試問你番捂,代理模式个唧,你可以這樣回復(fù):

說到設(shè)計模式,總共有23種设预,分為創(chuàng)建型模式有5種徙歼、結(jié)構(gòu)型模式有7種、行為型模式有11種鳖枕,其中代理是在結(jié)構(gòu)型模式里面魄梯,>.結(jié)構(gòu)型主要有XXX特點,其中代理有什么XXX特點宾符,我在使用時特別使用他的XXX優(yōu)點酿秸,盡可能避免他的XXX缺點。

23種設(shè)計模式解析(分類和原則)

設(shè)計模式(Design Pattern)是一套被反復(fù)使用魏烫、多數(shù)人知曉的辣苏、經(jīng)過分類的、代碼設(shè)計經(jīng)驗的總結(jié)哄褒。

使用設(shè)計模式的目的:為了代碼可重用性稀蟋、讓代碼更容易被他人理解、保證代碼可靠性呐赡。 設(shè)計模式使代碼編寫真正工程化退客;設(shè)計模式是[軟件工程]的基石脈絡(luò)。

創(chuàng)建型模式:5種,對象實例化的模式萌狂,創(chuàng)建型模式用于解耦對象的實例化過程档玻。

工廠方法模式、建造者模式粥脚、抽象工廠模式窃肠、原型模式、單例模式刷允。

小李想建幢別墅冤留,首先找了工廠方法來建,由于工廠方法沒有接過這么復(fù)雜树灶,還是重新找了建造者來幫忙纤怒,
建造者分析后使用了抽象工廠的方式來建,其實抽象工廠就是從原型開始天通,那原型建造泊窘,也還是從需從單個元開始沒有什么外的情況;

結(jié)構(gòu)性模式:7種像寒,把類或?qū)ο蠼Y(jié)合在一起形成一個更大的結(jié)構(gòu)烘豹。

適配器模式、裝飾器模式诺祸、代理模式携悯、外觀模式、橋接模式筷笨、組合模式憔鬼、享元模式。

記憶關(guān)鍵字:時裝代外橋(巧)合元(圓)胃夏;

行為型模式:11種轴或,類和對象如何交互,及劃分責(zé)任和算法仰禀。

策略模式照雁、模板方法模式、觀察者模式答恶、迭代子模式囊榜、責(zé)任鏈模式、命令模式亥宿、備忘錄模式、狀態(tài)模式砂沛、訪問者模式烫扼、中介者模式、解釋器模式碍庵。

13 策略模式:醫(yī)生使用策略終于在小孩屁股上打針了映企。

14 模板方法模式:使用鑰匙模板方法把門打開了悟狱。

15 觀察者模式,其實鸚鵡觀察主人怎么說話然后教小孩說堰氓。

16 迭代子模式挤渐,摘了河邊柳枝折疊成小袋子裝桃花。

17 責(zé)任鏈模式双絮,看守望這批儀器對我們責(zé)任很大浴麻,最好用鏈子鎖住不讓人動。

18 命令模式囤攀,地上都是泥巴软免,隊長命令我們趴下。

19 備忘錄模式焚挠,準(zhǔn)備制作藥酒膏萧,忘記放鹿茸了。

20 狀態(tài)模式蝌衔,這自行車形狀太特別了前比輪后輪大一倍榛泛。

21訪問者模式 ,這個池塘鱷魚是最大的訪問者噩斟。

22 中介者模式曹锨, 向中介買耳環(huán)很貴

23 解釋器模式 , 小和尚解釋新念經(jīng)儀器很到位亩冬。

數(shù)字編碼:
13 醫(yī)生 14 鑰匙 15 鸚鵡 16 楊柳 17 儀器 18 泥巴 19 藥酒 20 自行車 21 鱷魚 22 耳環(huán) 23 和尚

具體可以參考的最后有提到數(shù)字編碼艘希。

設(shè)計模式的六大原則

輔助記憶:一里依離,特合硅急;

總原則:開閉原則

開閉原則就是說對外擴(kuò)展開放覆享,對內(nèi)修改關(guān)閉。當(dāng)程序需要擴(kuò)展的時候营袜,不去修改原有的代碼撒顿,而是要擴(kuò)展原有代碼,實現(xiàn)一個熱插拔的效果荚板。為了達(dá)到這樣的效果凤壁,需要實現(xiàn)抽象類和接口等。

1跪另,單一責(zé)任原則

不要存在多于一個導(dǎo)致類變更的原因拧抖,也就是說每個類應(yīng)該實現(xiàn)單一的職責(zé),如若不然免绿,就應(yīng)該把類拆分唧席。

2,里氏替換原則

里氏代換原則(Liskov Substitution Principle LSP)面向?qū)ο笤O(shè)計的基本原則之一。 里氏代換原則中說淌哟,任何基類可以出現(xiàn)的地方迹卢,子類一定可以出現(xiàn)。 LSP是繼承復(fù)用的基石徒仓,只有當(dāng)衍生類可以替換掉基類腐碱,軟件單位的功能不受到影響時,基類才能真正被復(fù)用掉弛,而衍生類也能夠在基類的基礎(chǔ)上增加新的行為症见。里氏代換原則是對“開-閉”原則的補(bǔ)充。實現(xiàn)“開-閉”原則的關(guān)鍵步驟就是抽象化狰晚。而基類與子類的繼承關(guān)系就是抽象化的具體實現(xiàn)筒饰,所以里氏代換原則是對實現(xiàn)抽象化的具體步驟的規(guī)范

里氏替換中,子類對父類的方法經(jīng)量不要重寫和重載壁晒,因為弗雷定義好了結(jié)構(gòu)瓷们,通過規(guī)定的接口與外界交互,子類不應(yīng)該隨便的破壞它秒咐。

3谬晕,依賴倒轉(zhuǎn)原則

這個是開閉原則的基礎(chǔ),具體內(nèi)容:面向接口編程携取,依賴于抽象而不依賴于具體攒钳。寫代碼時用到具體類時,不與具體類交互雷滋,而與具體類的上層接口交互

4不撑,接口隔離原則(Interface Segregation Principle)

這個原則的意思是:每個接口中不存在子類用不到卻必須實現(xiàn)的方法,如果不然晤斩,就要將接口拆分焕檬。使用多個隔離的接口,比使用單個接口(多個接口方法集合到一個的接口)要好澳泵。

5实愚,迪米特法則(最少知道原則)

就是說:一個類對自己依賴的類知道的越少越好。也就是說無論被依賴的類多么復(fù)雜兔辅,都應(yīng)該將邏輯封裝在方法的內(nèi)部腊敲,通過public方法提供給外部。這樣當(dāng)被依賴的類變化時维苔,才能最小的影響該類碰辅。也就是說要求陌生的類不要作為局部變量出現(xiàn)在類中,

6介时,合成復(fù)用原則:

意思就是經(jīng)量首先使用合成/聚合的方式乎赴,而不是使用繼承忍法。

[擴(kuò)展閱讀](https://design-patterns.readthedocs.io/zh_CN/latest/read_uml.html);

非常牛的設(shè)計模式:https://www.cnblogs.com/edisonchou/category/613226.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末榕吼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子勉失,更是在濱河造成了極大的恐慌羹蚣,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乱凿,死亡現(xiàn)場離奇詭異顽素,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)徒蟆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門胁出,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人段审,你說我怎么就攤上這事全蝶。” “怎么了寺枉?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵抑淫,是天一觀的道長。 經(jīng)常有香客問我姥闪,道長始苇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任筐喳,我火速辦了婚禮催式,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘避归。我一直安慰自己荣月,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布槐脏。 她就那樣靜靜地躺著喉童,像睡著了一般。 火紅的嫁衣襯著肌膚如雪顿天。 梳的紋絲不亂的頭發(fā)上堂氯,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天,我揣著相機(jī)與錄音牌废,去河邊找鬼咽白。 笑死,一個胖子當(dāng)著我的面吹牛鸟缕,可吹牛的內(nèi)容都是我干的晶框。 我是一名探鬼主播排抬,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼授段!你這毒婦竟也來了蹲蒲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤侵贵,失蹤者是張志新(化名)和其女友劉穎届搁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窍育,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡卡睦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漱抓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片表锻。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乞娄,靈堂內(nèi)的尸體忽然破棺而出瞬逊,到底是詐尸還是另有隱情,我是刑警寧澤补胚,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布码耐,位于F島的核電站,受9級特大地震影響溶其,放射性物質(zhì)發(fā)生泄漏骚腥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一瓶逃、第九天 我趴在偏房一處隱蔽的房頂上張望束铭。 院中可真熱鬧,春花似錦厢绝、人聲如沸契沫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懈万。三九已至,卻和暖如春靶病,著一層夾襖步出監(jiān)牢的瞬間会通,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工娄周, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留涕侈,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓煤辨,卻偏偏與公主長得像裳涛,于是被迫代替她去往敵國和親木张。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

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