03.07 面向對象設計的SOLID原則

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原則。

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

面向對象設計的SOLID原則


開放封閉原則

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

面向對象設計的SOLID原則

里氏替換原則

當一個子類的實例應該能夠替換任何其超類的實例時,它們之間才具有is-A關係。

面向對象設計的SOLID原則


依賴倒置原則

1. 高層模塊不應該依賴於低層模塊,二者都應該依賴於抽象

2. 抽象不應該依賴於細節,細節應該依賴於抽象


面向對象設計的SOLID原則



接口分離原則

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

面向對象設計的SOLID原則

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


分享到:


相關文章: