0. About Design Pattern
Design Pattern的組成
模式名稱: 為每個pattern取名字, 方便記憶與交流
環境與問題: 描述在什麼場景下遇到了何種特定的問題
解決方案: 描述如何解決此問題
效果: 描述pattern應用之後的效果及可能帶來的問題, 或者使用中需要權衡的問題
Design Pattern的分類(此處僅根據GoF中提到的23個pattern)
創建型(Creation): 抽象了物件實例化的過程, 用來幫助建立物件的實例
結構型(Structural): 描述如何組合class和object以獲得更大的結構
行為型(Behavioral): 描述演算法與物件之間的職責分配
Design Pattern的分類(依照Wolfgang Pree的著作分類)
依賴抽象耦合的模式(abstract coupling)
基於遞迴的模式(recursive structure)
其他模式
Design Pattern和OO Design Principle
OOAD有很多原則, 而這些大都是從思想層面出發
Design principle是思想上的指導
Design pattern是實作上的手段
即design pattern為design principle的某些具體實作
設計是一種危險的平衡
Last updated