如何一分鐘記住23種設計模式
對於GoF(Gang of Four)的23設計模式對於喜歡軟體程式設計的同志們來說應該都是聽到都會虎軀一震,然後相視一笑或者在心裡冷冷地呵呵一下。我們這裡不談設計模式是什麼,也不談設計模式的好處是什麼,更不談設計模式的程式碼實現,只是想分享下如何快速的對這23種設計模式的名字有一個巨集觀把握,而這些名字基本上都是非常形象,極易見名知意的。
很多人會說,都是成年人了,我們應該推崇的是理解力而不是小時候那樣拿著書,搖頭晃腦,能很嗨的在那一早讀能背掉很多可能完全不理解的東西。但我們也應該發現,那時候的童子功對日後的影響是多麼大。有人詩文寫的真好,而大多數都是與小時候背誦過好詞好段子有關,我想這也是為什麼現在在推行兒童讀經的原因吧。七田真在他的書中提過對於不理解的東西能夠開啟人的間腦回路之類的,其背後的科學或者是超現實我不想去多做解釋。這裡只是簡單的來討論怎麼用最樸素的諧音與聯想記住23種設計模式吧!
筆者在實踐過程中,常常這樣去記一些有價值的文字。
好吧,先上23種設計模式的兩種分類方式:
1)按目的分三類:建立型,結構型,行為型
2)按範圍分兩類:類,物件
所以23種模式被切分成 3X2 = 6 個小塊,一般書上的示例是二維矩陣,我們就這麼來記憶。
a)
(建立型,類):工廠模式
(建立型,物件):抽象工廠模式
單例模式
建造者模式
原型模式
記憶:在熱火朝天的工廠裡,工人們在畫要建造的實體的圖紙(類),主管突然來抽(抽象模式)取了一個單身的工人(單例模式)去建造(建造者模式)一個圖紙上的原型(原型模式);加一點想象,聯絡到場景,給自己一分鐘,再回顧一下,看有沒在浮現!當然,自己可以加上更動態誇張的方法去記憶。
b)
(結構型,類):介面卡模式
(結構型,物件):介面卡模式
代理模式
橋接模式
組合模式
裝飾模式
外觀模式
享元模式
記憶:簡單一句話,
與時代潮流結合,裝外向
時(介面卡模式)代(代理模式)結(橋接模式)合(組合模式),裝(裝飾模式)外(外觀模式)向(享元模式);
c)
(行為型,類):直譯器模式
模板方法模式
(行為型,物件):責任鏈模式
命令模式
中介模式
觀察者模式
迭代器模式
備忘錄模式
訪問者模式
狀態模式
策略模式
記憶: 感到”寂寞“的時候就會容易導致一些特別的行為,寂(直譯器)寞(模板方法)
責令中介觀疊被,防撞車
責(責任鏈模式)令(命令模式)中介(中介模式)觀察(觀察者模式)疊(迭代器模式)被(備忘錄模式),防(訪問者模式)撞(狀態模式)車(策略模式)