2010年6月9日

個人的Design Pattern學習心法

在學習一個DP的時候,個人的順序跟學習的心得如下(持續更新)

1.      DP更上層的角度來看
(1).     了解該DP隸屬的類型:
                             i.                Creational
                           ii.                Structural
                          iii.                Behavioral
(2).     了解該DP跟其他DP的關聯性(http://www.vincehuston.org/dp/)
                             i.                Left-Right
                           ii.                Up-Down
                          iii.                wrapper wraps an inheritance hierarchy
                         iv.                recursive composition
                           v.                promote X to "full object status"
                         vi.                miscellaneous
(3).     透過週期表的位置協助記憶(http://www.vincehuston.org/dp/)


2.      每一個DP的詳細內容
(1).     反覆了解其目的
                             i.                了解該DP的目的
(2).     UML圖示
                             i.                了解UML圖中的所有參與者
                           ii.                務必"親自"UML工具自己畫出來
(3).     UML的程式碼
                             i.                用上述的UML圖形建立的關係產生原始碼
(4).     參考範例
                             i.                參考他人的範例
                           ii.                依照範例修改「UM工具產生原始碼」
(5).     了解該DP其他欄位
                             i.                針對有興趣的欄位進行了解
                           ii.                包含名稱、問題、解決方案、別名、動機、適用性、設計結構、參與者、合作、影響、實作、範例


最後,默背可以畫出該DP最重要的兩個內容:

  • 參與者
  • Class Diagram


PS.在研究Design Patterns之前,如果對於UML的class diagram完全不了解, 可以先看一下「關係簡介」,找不到工具可以畫UML圖,建議 使用免費又好用的JUDE
(from 史帝芬)


2010/06/11更新.


發現(原創) 學習Design Pattern的小技巧,跟小弟的說法心有靈犀~!!!