好吧,最近比較閑!心里發虛,擔心被fire 。this is a 打工者。 發現了一個矛盾,當你很忙於做項目的時候,總是奢望能有時間自己學習,當你有時間學習的時候,發現這也想學那也想學,又在迷茫不知道如何學習!時光在蹉跎中流失,而我卻還徘徊。於是抓住一個目標,學學設計模式。
以前自己接觸設計模式,網上搜一下各個模式,學了也不用,都忘記了!最近有抽時間學習了一下。說說自己學習的感悟!
首先面向對象的幾大原則這個必須了解,至少要知道。因為無論哪個設計模式,都遵循這幾大原則一點或幾點。不少網友說叫設計模式是很不對的,這個東西其實翻譯成《面向對象設計23招》或者《面向對象的實例教程》!其實就是這個意思,通過23個例子,叫你了解面向對象的設計原則。
所以你要買一本實例教程,初學者推薦《head first 設計模式》,這樣的書有很好的引導,你可以自己先設計再和作者的思路對比,發現不足。 一般的設計模式都是java或c#,你可以用另一種語言寫出來比如php,js 或者其他。為了增強理解,可以做一些題目。最后能閉上眼睛很熟練把uml畫出來,說明你理解了。
總結:
在學習每一個設計模式時至少應該掌握如下幾點:
這個設計模式的意圖是什么,它要解決一個什么問題,什么時候可以使用它;它是如何解決的,掌握它的結構圖,記住它的關鍵代碼;能夠想到至少兩個它的應用實例,一個生活中的,一個軟件中的;
這個模式的優缺點是什么,在使用時要注意什么。當你能夠回答上述所有問題時,恭喜你,你了解一個設計模式了,至於掌握它,那就在開發中去使用吧,用多了你自然就掌握了。
推薦一個bolg http://blog.csdn.net/lovelion/ 挺不錯我經常去光顧!