S.O.L.I.D是面向?qū)ο笤O計和編程(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原則睁搭。
單一責任原則:
當需要修改某個類的時候原因有且只有一個(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)搜贤。換句話說就是讓一個類只做一種類型責任谆沃,當這個類需要承當其他類型的責任的時候,就需要分解這個類仪芒。

開放封閉原則
軟件實體應該是可擴展唁影,而不可修改的。也就是說掂名,對擴展是開放的据沈,而對修改是封閉的。這個原則是諸多面向?qū)ο缶幊淘瓌t中最抽象饺蔑、最難理解的一個锌介。

里氏替換原則
當一個子類的實例應該能夠替換任何其超類的實例時孔祸,它們之間才具有is-A關(guān)系

依賴倒置原則
- 高層模塊不應該依賴于低層模塊崔慧,二者都應該依賴于抽象
-
抽象不應該依賴于細節(jié)惶室,細節(jié)應該依賴于抽象
接口分離原則
不能強迫用戶去依賴那些他們不使用的接口皇钞。換句話說松捉,使用多個專門的接口比使用單一的總接口總要好隘世。

這幾條原則是非常基礎而且重要的面向?qū)ο笤O計原則趾痘。正是由于這些原則的基礎性永票,理解侣集、融匯貫通這些原則需要不少的經(jīng)驗和知識的積累世分。上述的圖片很好的注釋了這幾條原則缀辩。
轉(zhuǎn)載自:http://www.cnblogs.com/shanyou/archive/2009/09/21/1570716.html