設計模式
設計模式有什麼用,這裡就不說了。設計模式是一種思想,不光是一種技術,要怎樣學習設計模式,每個人有每個人的方法。這是我的方法拿出來和大家分享下。
1.背
背什麼? 先背什麼?自然是先把設計模式的名字背下來。先知道有什麼設計模式。 然後背什麼? 背每種設計模式的意圖。什麼事意圖?即這種設計模式是幹什麼用的。 eg:Factory Method模式的意圖: 定義一個用於創建對象的接口,讓子類決定實例化哪一個類。 Factory Method 使一個類的實例化延遲到其子類。 在背什麼? 適用性。然後記下這種模式可以用在哪方面。接著上面說的Factory Method模式可以用在 當一個類不知道它所必須創建的對象的類的時候。 當一個類希望由它的子類來指定它所創建的對象的時候。 當類將創建對象的職責委託給多個幫助子類中的某一個,並且你希望將哪一個幫助子類是代理者這一信息局部化的時候。 最後背什麼? 背UML圖
背完這些你第一階段就算完成了,總共23個設計模式相信用不了多少時間,比看設計模式的書要快很多哦。
2.看
看設計模式的源代碼? 什麼源代碼? 網上可以找到每一種設計模式UML對應的源代碼。 仔細看哦。 看完後,關鍵是看怎樣實現第一步中的 意圖的。 這個估計比第一步更快吧。
3.比
比較各種設計模式的區別,包括UML圖的區別,和設計模式實現源代碼的區別。 你會發現,設計模式中的UML圖有的差別很小,但是完成的功能卻大相逕庭。多比較仔細比較。呵呵。
4.用
現在到用啦。怎麼用,別怕用錯,有項目,就拿設計模式去套,別聽他們說設計模式也不能濫用。 不濫用是你水平達到一定高度的時候,才知道是否該用,和該怎麼用,咱們水平還很低的情況下就是多用。 用多了就能總結出一些門道,什麼情況下用什麼比較合適。 什麼情況下不需要設計模式。 最好是用的時候,有時候是解決某個問題有幾個設計模式都能達到同樣的目的,你可以試著每種都用用。
5.悟
這也是最後一步,也是最難的一步。設計模式是一種思想,指導思想,指導我們怎樣去設計。 是前人實踐總結出來的,行之有效的思想方法。 我沒有悟出多少,這裡還說不出什麼道道來。
希望對和我一樣的朋友能少走彎路,最快的速度學會設計模式。以前我看設計模式的書,不知所云,雲裡霧裡,看的也沒信心,關鍵是我懶,呵呵。 做事總是幾分鐘的熱度(除了自己的目標是不變的),所以我總結些能適應自己的學習方法,希望對你有點用。
23種設計模式中英文對照
1 Singleton 單件
2 Abstract Factory 抽象工廠模式
3 Builder 生成器模式
4 Factory Method 工廠方法模式
5 Prototype 原型模式
6 Adapter 適配器模式
7 Bridge 橋接模式
8 Composite 組合模式
9 Decorator 裝飾模式
10 Facade 外觀模式
11 Flyweight 享元模式
12 Proxy 代理模式
13 Template Methed模板方法
14 Command 命令模式
15 Interpreter 解釋器模式
16 Mediator 中介者模式
17 Iterator 迭代器模式
18 Observer 觀察者模式
19 Chain Of Responsibility 職責鏈模式
20 Memento 備忘錄模式
21 State 狀態模式
22 Strategy 策略模式
23 Visitor 訪問者模式