📙
Design Pattern
  • Introduction
  • 0. About Design Pattern
  • 1. Singleton
  • 1.1 Eager Singleton (a.k.a Pessimistic Lock Singleton)
  • 1.2 Lazy Singleton (a.k.a Optimistic Lock Singleton)
  • 1.3 理解Singleton
  • 1.4 Cache Singleton
  • 1.5 Extend Singleton
  • 1.6 Double Check and Lock Singleton
  • 1.7 Lazy Initialization Holder Class
  • 1.8 Enum Singleton
  • 1.9 Conclusion
  • 2. Factory
  • 2.1 Simple Factory
  • 2.2 Factory
  • 2.3 Abstract Factory
  • 2.4 Conclusion
Powered by GitBook
On this page

Was this helpful?

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的某些具體實作

    • 設計是一種危險的平衡

PreviousIntroductionNext1. Singleton

Last updated 5 years ago

Was this helpful?