設計模式與面向對象

面向對象基礎設計原則

  1. 抽象
  2. 封裝
  3. 繼承
  4. 多態
  5. 組合

典型的設計原則

  1. Liskov替換原則(LSP)編程

    • 即子類型必須可以替換他們的基類型,或者說子類型不能添加任何基類型沒有的附加約束。
    • 針對接口編程思想:實現繼承破壞了基類的實現,接口繼承並不定義對象之間的內部關係,耦合度更低,擴展性更好
  2. 開放-封閉原則(OCP)設計模式

    • 即對修改封閉,對擴展開放
    • 基本思想就是封裝變化的行爲做爲抽象類或接口
    • 策略模式和模板方法模式提供了實現
  3. 單一職責原則(SRP)框架

    • 即一個類應當只有一個職責
    • 創建高內聚的類,分離出不相關的功能
  4. 接口隔離原則(ISP)設計

    • 即接口的單一職責性
    • 定製服務,爲不一樣的角色提供不一樣的接口,防止接口污染
  5. 依賴倒置原則(DIP)對象

    • 即高層模塊不該依賴於低層模塊,二者都應該依賴於抽象
    • 面向接口編程,讓高層與低層都依賴接口(抽象)
    • 其餘表述
      • 好萊塢原則:呆着別動,到時我會找你
      • 控制反轉(IoC)或依賴注入
    • 好比利用抽象工廠模式解除兩個類之間的依賴關係;利用Spring框架經過XML配置文件創建接口和具體類之間的關係
  6. 迪米特准則(LOD)blog

    • 即一個類對於所依賴的類知道的越少越好
    • 這是一個實用的職責分配模式,他指出應該與直接朋友通訊,將系統的耦合度保持最低
    • 被依賴的類對外公開的方法要少,要創建中間人委託機制,進而面向接口編程

良好的OO設計

  1. 可複用
  2. 可擴充
  3. 可維護
  4. 設計模式

23種GoF設計模式

設計模式分爲類模式和對象模式,類模式處理類和派生類之間的繼承關係,對象模式處理對象之間的組織關係。
繼承

相關文章
相關標籤/搜索