S.O.L.I.D是面向對象設計和程式設計(OOD&OOP)中幾個重要編碼原則(Programming Priciple)的首字母縮寫。

1. 單一責任原則
當需要修改某個類的時候原因有且隻有一個(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。換句話說就是讓一個類隻做一種類型責任,當這個類需要承當其他類型的責任的時候,就需要分解這個類。
2. 開放封閉原則
軟體實體應該是可擴充,而不可修改的。也就是說,對擴充是開放的,而對修改是封閉的。這個原則是諸多面向對象程式設計原則中最抽象、最難了解的一個。
3. 裡氏替換原則
當一個子類的執行個體應該能夠替換任何其超類的執行個體時,它們之間才具有is-A關系
4. 依賴倒置原則
高層子產品不應該依賴于低層子產品,二者都應該依賴于抽象
抽象不應該依賴于細節,細節應該依賴于抽象
5. 接口分離原則
不能強迫使用者去依賴那些他們不使用的接口。換句話說,使用多個專門的接口比使用單一的總接口總要好。
這幾條原則是非常基礎而且重要的面向對象設計原則。正是由于這些原則的基礎性,了解、融彙貫通這些原則需要不少的經驗和知識的積累。上述的圖檔很好的注釋了這幾條原則。
OOD學習資料推薦
- 《Head First 設計模式》
- 九章算法 《面向對象設計 OOD》
- Craig Larman 《UML 和模式應用》
- 設計模式:可複用面向對象軟體的基礎