S.O.L.I.D是面向?qū)ο笤O(shè)計和編程(OOD&OOP)中幾個重要編碼原則(Programming Priciple)的首字母縮寫。
SRP | [The Single Responsibility Principle ] | 單一責(zé)任原則 |
---|---|---|
OCP | [The Open Closed Principle] | 開放封閉原則 |
LSP | [The Liskov Substitution Principle] | 里氏替換原則 |
DIP | [The Dependency Inversion Principle] | 依賴倒置原則 |
ISP | [The Interface Segregation Principle] | 接口分離原則 |
單一責(zé)任原則: 當(dāng)需要修改某個類的時候原因有且只有一個(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)麦牺。換句話說就是讓一個類只做一種類型責(zé)任甩挫,當(dāng)這個類需要承當(dāng)其他類型的責(zé)任的時候特漩,就需要分解這個類。
開放封閉原則 軟件實體應(yīng)該是可擴展,而不可修改的师郑。也就是說负芋,對擴展是開放的漫蛔,而對修改是封閉的。這個原則是諸多面向?qū)ο缶幊淘瓌t中最抽象旧蛾、最難理解的一個莽龟。
里氏替換原則 當(dāng)一個子類的實例應(yīng)該能夠替換任何其超類的實例時,它們之間才具有is-A關(guān)系(is-a 指的是類的父子繼承關(guān)系锨天,例如類D是另一個類B的子類(類B是類D的父類))
依賴倒置原則1. 高層模塊不應(yīng)該依賴于低層模塊毯盈,二者都應(yīng)該依賴于抽象 2. 抽象不應(yīng)該依賴于細節(jié),細節(jié)應(yīng)該依賴于抽象
接口分離原則 不能強迫用戶去依賴那些他們不使用的接口病袄。換句話說搂赋,使用多個專門的接口比使用單一的總接口總要好。
此篇為學(xué)習(xí)筆記益缠,完全參考于 張善友 的blog脑奠,僅為學(xué)習(xí)研究;
參考blog:
http://www.cnblogs.com/shanyou/archive/2009/09/21/1570716.html
作者 :張善友