July 31, 2013

書評 - Head First Design Patterns

圖片來源:天瓏網路書店
對於這本書,我只有相見恨晚四個字可以形容。

初入Design Patterns是在工作的第一年,由於當時公司資深同事兼研究所學長推薦GoF寫的Design Patterns: Elements of Reusable Object-Oriented Software,所以買了它的中文版物件導向設計模式來研讀。然而當時功力尚淺,整本讀完了但大部份的Patterns有看沒有懂。

工作三年多,累積了一些實戰經驗後,興起了複習Design Patterns的念頭。由於GoF版本對我來說有點難吸收,便找了C# 3.0 Design Patterns來看,並搭配GoF版本做參考一同服用。這次好多了,範例程式是用C#撰寫,好懂一點,但對Design Patterns的認知程度仍只有些許提升。

現在工作六年了,再次興起複習的念頭,而這次找來的是Head First系列書的Design Patterns。本書在Amazon上有極高的評價,範例是以Java撰寫,但對C#開發人員閱讀起來應該沒什麼問題。每個Pattern以說故事的方式來呈現,前因後果互相串連,加上圖例說明。雖然有六百多頁,但讀起來很快也很好理解。

GoF版本中有23個Patterns,而在Head First Design Patterns主要描述GoF中的14個Patterns,再加上MVC Pattern、SOLID原則中Single Responsibility PrincipleOpen-Closed PrincipleDependency Inversion Principle,其餘9個Patterns則放在Appendix裡做簡單的說明而已。此次讀完Head First Design Patterns,對其描述的14個Patterns理解度加深不少,且對於原本在讀GoF版本時產生的一些誤解也有所釐清。如果有朋友想初入Design Pattern的話,我推薦先閱讀Head First版本,再輔以GoF版本做參考,效果會比較好。

No comments: