Design Pattern - 資源總整理

要學Design Pattern之前, 一定要先搞懂的物件導向基礎:

強烈建議先閱讀91Design Pattern學習的心得之後,再開始學習Design Pattern。文中提到學Design Pattern時必須具備下列的物件導向知識。強調Design Pattern只是幫助物件導向程式達到「高內聚、低耦合」的目的。並且需遵照設計原則來使用。

文中提到,濫用Design Pattern的傷害很可能比不用Design Pattern還要大。使用時須根據需求來運用Design Pattern,而非無節制的使用Patterns。

Pin 點部落

Design Pattern目錄
這是一個我很推薦的學習資源,內容以深入淺出設計模式的學習筆記為主要骨幹。深入淺出設計模式寫得很好,但稍嫌囉嗦,故事敘述往往花了很長的篇幅,因此我選擇精簡整理過的筆記,也就是這個網站的資源來學習。

Teddy搞笑談軟工

Teddy提到坊間的書籍,如大話設計模式、設計模式之禪……等等的書籍,以範例來說明Design Patern,以實際
程式來解說Desgin Pattern。諸如此類以「操作型定義」來學習,對於入門來說是個好方法。然而由GOF所著作的Design Pattern書中提到的抽象型定義,卻沒有書籍著重在這方面。因此Teddy使用6大元素,將抽象型定義囊括其中,藉以探究Design Pattern。

91的站

很棒的站,對於物件導向觀念一直延伸至Design Pattern,一整套的學習教材。進階版有實際範例將程式重構為Design Pattern的型式。

iT邦
ASP.NET由淺入深 不負責講座系列
重構之路系列

參考書籍

  • 深入淺出設計模式
    最多人推薦的教材,我也不例外,從最直覺但有缺陷的方式開始思考,慢慢推導致Design Pattern的產生。並不時檢視著SOLID五大原則。非常適合打基礎。缺點是故事篇幅啥在太長,常常看到恍神。書中只講解到其中幾種的Design Pattern並非全部。

  • 大話設計模式
    引導讀者進入情境,讓讀者思考該用甚麼方法解決問題,類似深入淺出設計模式。優點是故事較短,很容易閱讀。缺點是有些例子對Pattern的了解有限,程式碼有些是中文,較難閱讀。

  • 設計樣式的解析與活用
    Teddy在網站中推薦的教材,少數有提到抽象型定義的書籍。

評論