1.單一職責原則(SRP)
- 兩個完全不一樣的功能不應該放在同一個類中。
- 一個類中應該是一組相關性很高的函數,數據的封裝。
2 開閉原則(OCP)
- 定義:軟件中的對象(類,模塊,函數)應該是可以拓展的,但對于修改是封閉的,最簡單的做法是繼承來實現升級。應該盡量減少對原有已經測試過的模塊的修改和影響。pianxiangyujiekou1
3 里氏替換原則(LSP)
- 其實就是繼承(抽象)
4 依賴倒置原則(DIP)
高層模塊不應該依賴于底層模塊的具體實現,兩者都應該依賴其抽象。
抽象不應該依賴細節
-
細節應該依賴抽象
java 中抽象就是指接口或者抽象類,不能直接被實例化;細節就是實現類,實現接口或繼承抽象類而產生的類就是細節,可以被實例化.
模塊間的依賴應該通過抽象,實現類之間不應該發生直接的依賴。其依賴關系是通過抽象類或者接口實現。
5 接口隔離原則(ISP)
- 類間的依賴關系應該建立在最小的接口上。
- 原則是將非常龐大,臃腫的接口拆分成更小和更具體的接口。客戶只需要知道他們感興趣的接口。
以上五個原則被稱為SOLID
原則
6 迪米特原則(LOD)
- 一個類應該對他自己關聯的對象或類有最少的了解,只需要知道他需要的方法就可,不需要關系其他的方法。