設計模式(二)「開-閉」原則(OCP-----Open-Closed Principle)

  1. 什麼是「開-閉」原則?

「開-閉」原則講的是:一個軟件實體應當對擴展開放,對修改關閉。這個原則說的是,在設計一個模塊的時候,應當在沒必要修改源代碼的狀況下改變這個模塊的行爲。spa

知足「開-閉」原則的設計能夠給一個軟件系統兩個無可比擬的優越性:設計

  • 經過擴展已有的軟件系統,能夠提供新的行爲,以知足對軟件的新需求,使變化中的軟件系統有必定的適應性和靈活性。
  • 已有的軟件模塊,特別是最重要的抽象層模塊不能再修改,這就使變化中的軟件系統有必定的穩定性和延續性。

    2.對可變性的封裝原則對象

  • 一種可變性不該當散落在代碼的不少角落中,而應當被封裝到一個對象裏。繼承應當被看作是封裝變化的方法,而不該當被認爲是從通常的對象生成特殊的對象的方法。
  • 一種可變性不該當與另外一種可變性混合在一塊兒。

    3.設計原則繼承

  • 里氏代換原則

任何父類能夠出現的地方,子類必定能夠出現。里氏代換原則是「開-閉」原則的補充,實現「開-閉」原則的關鍵步驟就是抽象化。父類與子類的繼承關係就是抽象化的具體體現,因此里氏代換原則是對實現抽象化的具體步驟的規範。接口

  • 依賴倒置原則

要依賴於抽象,不要依賴於實現。擴展

  • 合成/聚合複用原則

要儘可能使用合成/聚合,而不是繼承關係達到複用的目的。軟件

  • 迪米特法則

一個軟件實體應當與儘量少的其餘實體發生相互做用。方法

  • 接口隔離原則

應當爲客戶端提供儘量小的單獨的接口,而不要提供大的總接口。客戶端

相關文章
相關標籤/搜索