單一職責原則(Single Responsibility Principle),簡稱SRP。 定義:一個類只負責一件事情; 說明:類的單一職責原則受多重因素制約,實際實現起來,需要考慮項目工期、成本、人員技術水平等 使用:介面一定要做到單一職責原則,類的設計儘量做到單一職責原則 擴展:單一職責原則同 ...
單一職責原則(Single Responsibility Principle),簡稱SRP。
定義:一個類只負責一件事情;
說明:類的單一職責原則受多重因素制約,實際實現起來,需要考慮項目工期、成本、人員技術水平等
使用:介面一定要做到單一職責原則,類的設計儘量做到單一職責原則
擴展:單一職責原則同樣適用於類中的方法,方法一定要職責分明,耦合最低處理
里氏替換原則:
定義:只要父類出現的地方子類就可以出現,而且替換為子類也不會產生任何錯誤和異常,適用根本不知道是父類還是子類。但是反過來就不行了,有子類出現的地方,父類未必就能適應
依賴倒置原則:
定義:核心思想就是面向介面編程
表現:模塊間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過介面或抽象類產生的;介面或抽象類不依賴於實現類;實現類依賴介面或抽象類
介面隔離原則:
定義:介面儘量細化,同時介面中的方法儘量少,符合單一介面,介面不能臃腫;A業務調用一個介面,該介面只提供A要的功能,而沒有此外其他的功能暴露給A業務使用
區別單一職責原則:單一職責原則是基於業務角度來劃分職責的;而介面隔離原則是從介面本身的使用來規範的;
迪米特法則:
定義:類實現低耦合,調用者只需要瞭解被調用者的功能,而不需要瞭解被調用者是怎麼實現的。
開閉原則:
定義:一個軟體系統要實現對外擴展開放,對修改關閉,通俗的說就是,一個軟體系統應該通過擴展來實現變化,而不是修改已有的代碼來實現變化。
總結:
軟體設計最大的難題就是應對需求的變化,但是紛繁複雜的需求變化又是不可預料的。前人總結的6大設計原則和23個設計模式就是來應對未來的變化。在設計開發一個軟體時,我們要以6大設計原則為指導思想,以23設計模式為綱領,只有這樣,我們的系統才能海納百川,對需求變化來者不拒。