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

設計六大原則

談到設計模式,首先要了解的是設計的六大原則。各個設計模式,都是基於這些原則而衍生出來的,熟練掌握這些原則,是首要基礎,下面介紹這六個原則的定義和適用場景。

  • 單一職責原則:一個介面或一個類僅有一個原因引起變化
    如物件的屬性和行為拆分成兩個介面,當行為數量有變化時,只需要改行為介面,欄位變化只需要改屬性介面。

  • 里氏替換原則:所有使用基類的地方,使用子類也不會有問題
    隨著專案的推進,父類可能衍生出很多子類,該原則能確保新增的子類也能在程式中正常執行,增強了程式的健壯性和穩定性。

  • 依賴倒置原則:實現類之間不直接依賴,模組之間靠介面或抽象依賴,實現依賴介面或抽象,介面或抽象不依賴實現
    按該原則,在開始約定介面和介面之間的依賴,可有效避免多人並行開發的風險,同時也增加了程式碼的可讀性和可維護性。

  • 介面隔離原則:介面設計儘量精簡,讓類之間的依賴建立在最小的介面上
    若一個物件有十個類似行為,按職責分離原則,該為這十個行為建立一個介面。但不同模組使用到不同的行為時,應按需進一步切分,讓模組和物件的行為依賴最小介面。

  • 最少知識原則:物件應該對自己耦合的物件有最少的瞭解
    原則的本意是物件之間儘量解耦,以免牽一髮而動全身,但副作用是產生大量中轉或跳轉類,增加程式碼複雜度和維護難度,所以考慮該原則的時候要把握一個度。

  • 開閉原則:對擴充套件開放,對修改關閉
    對老程式碼的修改,會導致老程式碼的邏輯變更,測試重做。對一個臃腫大專案的老程式碼進行修改,會造成海量的影響。所以儘量用擴充套件代替修改,能最大限度地節約工作量。