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