1、單一職責原則
理解:
單一職責適用於接口、類、方法,只負責一項職責
優點:
降低類的複雜度,一個類只負責一項職責,邏輯簡單
提高類的可讀性
可維護性提高:可讀性提高,那當然更容易維護了
降低變更引起的風險:如果接口的單一職責做得好,一個接口修改只對相應的實現類有影響,對其他的接口無影響,這對系統的擴展性、維護性都有非常大的幫助
2、開閉原則
理解:
一個軟件實體如類、函數應該對擴展開放,對修改關閉。
優點:
提高代碼複用性
提高可維護性
3、迪米特法則(最少知道原則)
一個類對自己依賴的類知道的越少越好,也就是對於被依賴的類的方法和屬性儘量私有化
4、接口隔離原則
理解:
建立單一接口,不要建立龐大臃腫的接口
接口儘量細化,同時接口中的方法儘量少
一個接口只服務於一個子模塊或業務邏輯
5、里氏替換原則
理解:
所有引用父類的地方必須能透明地使用其子類的對象,反過來則不成立
6、依賴倒置原則
理解:
“面向接口編程“是依賴倒置原則的核心,上層定義接口,下層實現這個接口, 從而使得下層依賴於上層,降低耦合度
模塊間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過接口或抽象類產生的
依賴倒置原則的具體實現:依賴注入(Dependency Injection)
構造函數傳遞依賴對象
Setter方法傳遞依賴對象
接口傳遞依賴對象
7、合成複用原則
儘量使用對象組合,而不是繼承來達到複用的目的。