1. 程式人生 > >設計模式--六大原則

設計模式--六大原則

活性 tro 開閉 拆分 其中 com att 隔離 裏氏替換原則

  • 設計模式六大原則
  • 單一職責原則:
  • 不要存在多於一個導致類變更的原因。**通俗的說,即一個類只負責一項職責
  • 裏氏替換原則:
  • 裏氏替換原則通俗的來講就是:子類可以擴展父類的功能,但不能改變父類原有的功能。它包含以下4層含義:

    • 子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法。
    • 子類中可以增加自己特有的方法。
    • 當子類的方法重載父類的方法時,方法的前置條件(即方法的形參)要比父類方法的輸入參數更寬松。
    • 當子類的方法實現父類的抽象方法時,方法的後置條件(即方法的返回值)要比父類更嚴格。

    看上去很不可思議,因為我們會發現在自己編程中常常會違反裏氏替換原則,程序照樣跑的好好的。所以大家都會產生這樣的疑問,假如我非要不遵循裏氏替換原則會有什麽後果?

    後果就是:你寫的代碼出問題的幾率將會大大增加。

  • 依賴倒置原則
  • 高層模塊不可直接依賴低層模塊。盡量通過接口傳遞即策略方式
  • 接口隔離原則。
  • 盡量不要一個接口搞定所有需求,能拆分就拆分 增加系統的靈活性和可維護性
  • 迪米特法則:
  • 只與直接的朋友通信。首先來解釋一下什麽是直接的朋友:每個對象都會與其他對象有耦合關系,只要兩個對象之間有耦合關系,我們就說這兩個對象之間是朋友關系。耦合的方式很多,依賴、關聯、組合、聚合等。其中,我們稱出現成員變量、方法參數、方法返回值中的類為直接的朋友,而出現在局部變量中的類則不是直接的朋友。也就是說,陌生的類最好不要作為局部變量的形式出現在類的內部。
  • 開閉原則:
  • 對修改關閉,對新增開放

設計模式--六大原則