OOD 面向對象面試必讀 | 面向對象設計的SOLID原則

專欄 | 九章算法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)。換句話說就是讓一個類只作一種類型責任,當這個類須要承當其餘類型的責任的時候,就須要分解這個類。 微信

image

02 開放封閉原則編碼

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

image

03 里氏替換原則設計

當一個子類的實例應該可以替換任何其超類的實例時,它們之間才具備is-A關係 3d

image

04 依賴倒置原則

高層模塊不該該依賴於低層模塊,兩者都應該依賴於抽象 抽象不該該依賴於細節,細節應該依賴於抽象

image

05 接口分離原則

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

image

這幾條原則是很是基礎並且重要的面向對象設計原則。正是因爲這些原則的基礎性,理解、融匯貫通這些原則須要很多的經驗和知識的積累。上述的圖片很好的註釋了這幾條原則。

轉載自:www.cnblogs.com/shanyou/arc…

歡迎關注個人微信公衆號:九章算法(ninechapter)。
精英程序員交流社區,按期發佈面試題、面試技巧、求職信息等
2d09fefd332a1a68bb1c.jpeg
相關文章
相關標籤/搜索