專欄 | 九章算法html
網址 | www.jiuzhang.com程序員
S.O.L.I.D是面向對象設計和編程(OOD&OOP)中幾個重要編碼原則(Programming Priciple)的首字母縮寫。面試
簡寫 | 全拼 | 中文翻譯 |
---|---|---|
SRP | The Single Responsibility Principle | 單一責任原則 |
OCP | The Open Closed Principle | 開放封閉原則 |
LSP | The Liskov Substitution Principle | 里氏替換原則 |
DIP | The Dependency Inversion Principle | 依賴倒置原則 |
ISP | The Interface Segregation Principle | 接口分離原則 |
Steve Smith在5月份的微軟TechED 2009上有個SOLIDify Your ASP.NET MVC的講座, derick.bailey的SOLID Development Principles – In Motivational Pictures很好的解釋了SOLID原則。算法
01 單一責任原則編程
當須要修改某個類的時候緣由有且只有一個(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。換句話說就是讓一個類只作一種類型責任,當這個類須要承當其餘類型的責任的時候,就須要分解這個類。 微信
02 開放封閉原則編碼
軟件實體應該是可擴展,而不可修改的。也就是說,對擴展是開放的,而對修改是封閉的。這個原則是諸多面向對象編程原則中最抽象、最難理解的一個。 翻譯
03 里氏替換原則設計
當一個子類的實例應該可以替換任何其超類的實例時,它們之間才具備is-A關係 3d
04 依賴倒置原則
高層模塊不該該依賴於低層模塊,兩者都應該依賴於抽象 抽象不該該依賴於細節,細節應該依賴於抽象
05 接口分離原則
不能強迫用戶去依賴那些他們不使用的接口。換句話說,使用多個專門的接口比使用單一的總接口總要好。
這幾條原則是很是基礎並且重要的面向對象設計原則。正是因爲這些原則的基礎性,理解、融匯貫通這些原則須要很多的經驗和知識的積累。上述的圖片很好的註釋了這幾條原則。
轉載自:www.cnblogs.com/shanyou/arc…