設計模式 經典書籍必備推薦

笑遨漿糊發表於2011-04-12

很多朋友問學習設計模式的書籍,老大滄浪在FAQ裡有個簡短的敘述,這裡我引申一下,說說自己看過或者翻過的設計模式書籍,由於水平所限,肯定有不對的地方,希望大家指正,如果大家看到好的模式相關書籍,希望能回帖補充。

首 先模式是不分語言的,Beck在他的TDD一書中用python實現了Composite模式,充分證明了這一點。不過我認為目前模式方面的好書基本都是 基於java語言的,所以不管你是用C#還是CPP,都請學會閱讀java程式碼,畢竟現在OO和模式還是有java社群引領的。

我將按照初級,中級,高階三類來劃分推薦的書。並且按照格式——名稱,語言,內容&評論,推薦指數來寫:)。

初級:我認為初級的標準是闡述模式是什麼以及常見模式的介紹。
1.
名稱 : Head First Design Patterns
語言 : java
評論 : Jolt大獎得主,介紹了常見的十幾種模式。我認為最好的模式入門書籍,內容生動,風格活潑。如果對模式瞭解較少,看這本書最合適不過,即使你水平不錯,相信看了也會有收穫。
推薦 : 五星

2.
名稱 :java與模式
語言 :java
評論 : 首先介紹了SRP,LSP等基本原則,然後介紹了GOF23種模式和其他三種模式,以中國傳統名著如西遊記等舉例,寫的比較不錯。當然1000多頁的厚度讀起來也需要耐心:)。雖然有些知識稍微過時,而且跟java語言聯絡太緊密,但還是本好書。
推薦 : 四星

3. 
名稱 : .NET與設計模式
語言 : C#
評論 : 和上面一本書定位和風格非常相似,只不過換了語言和平臺。如果你是.net的堅決擁護者,無論如何不肯看用   java語言寫的書,那麼這本書適合你,個人認為這本書寫得比C#設計模式要好。
推薦 : 四星

4.
名稱 : C#設計模式
語言 : C#
評論 : 很薄的一本書,僅僅按照GOF的風格用C#描述了GOF模式,感覺這種書意義不大。
推薦 : 兩星

5.
名稱 : 深入淺出設計模式(C#/java版)
語言 : C#/java
評論 : 和上本書風格相似,語言既有C#又有java,例子感覺是隨便從網上搜集的。
推薦 : 兩星

中級:中級的書不僅僅是介紹模式,更多的是關注模式的應用。
1.
名稱 : 設計模式解析
語言 : java(第二版)
評論 : 也是久負盛名的一本書,程式碼大全的作者推薦的模式學習書籍。書中的很多思路很有啟發性,值得閱讀。只是作者狂引建築的永恆之道,讓人覺得莫名其妙。
推薦 : 四星

2.
名稱 : 重構與模式
語言 : java
評論 : 我期望很高的一本書,但看了以後發現是七分重構三分模式,對模式本身敘述不多,主要將如何重構實現模式,適合有一點基礎的朋友閱讀。
推薦 : 四星

3.
名稱 : 敏捷軟體開發 原則.模式與實踐
語言 : java,少量C++
評論 : Jolt大獎得主,非常好的一本書,首先講解了OCP,DIP等基本原則,然後通過幾個實際例子講解模式,論述的十分精彩,我認為是中級圖書中最好的一本。
推薦 : 五星

4.
名稱 : 道法自然
語言 : C++
評論 : 國人的精彩原創,相信大家早就聽說過,看過。通過FishGUI這個實際專案闡述OO和模式。只是不習慣C++的朋友讀起來可能有些障礙。
推薦 : 五星

5.
名稱 : 模式的樂趣
語言 : java
評論 : 很薄的一本小書,通俗易懂,通過三個小例子講解模式,消遣讀物:)
推薦 : 三星

6.
名稱 : 設計模式初學者指南
語言 : java
評論 : 書名嚴重誤導,絕不適合初學者看。作者通過兩個專案講解模式,寫的還是不錯的。只是作者觀點有些偏激,恐怕會引起.net程式設計師的反感。
推薦 : 三星 

高階: 相信大家也猜的到,所有模式書籍配得上高階的也只有GOF那本了
名稱 : 設計模式   可複用物件導向軟體的基礎
語言 : C++, 少量Smalltalk
評論 : 沒什麼可說的,大家都清楚:)。除非GOF自己出第二版,否則無法超越。即使沒有能力通讀也應該買一本作為終極參考
推薦 : 五星

本文僅僅拋磚引玉,希望大家補充自己看過翻過的書。其中國外五星級的三本書已經提供電子版.

相關文章