面向對象設計的SOLID原則

原文鏈接:https://www.cnblogs.com/shanyou/archive/2009/09/21/1570716.html

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.baileySOLID Development Principles – In Motivational Pictures很好的解釋了SOLID原則。

單一責任原則: 
當需要修改某個類的時候原因有且只有一個(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。換句話說就是讓一個類只做一種類型責任,當這個類需要承當其他類型的責任的時候,就需要分解這個類。 
 SingleResponsibilityPrinciple2_71060858


開放封閉原則 
軟件實體應該是可擴展,而不可修改的。也就是說,對擴展是開放的,而對修改是封閉的。這個原則是諸多面向對象編程原則中最抽象、最難理解的一個。

OpenClosedPrinciple2_2C596E17

里氏替換原則 
當一個子類的實例應該能夠替換任何其超類的實例時,它們之間才具有is-A關係 
LiskovSubtitutionPrinciple_52BB5162  
依賴倒置原則
1. 高層模塊不應該依賴於低層模塊,二者都應該依賴於抽象 
2. 抽象不應該依賴於細節,細節應該依賴於抽象 
DependencyInversionPrinciple_0278F9E2


接口分離原則 
不能強迫用戶去依賴那些他們不使用的接口。換句話說,使用多個專門的接口比使用單一的總接口總要好。 

InterfaceSegregationPrinciple_60216468

這幾條原則是非常基礎而且重要的面向對象設計原則。正是由於這些原則的基礎性,理解、融匯貫通這些原則需要不少的經驗和知識的積累。上述的圖片很好的註釋了這幾條原則。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章