物件導向設計的重要原則 SOLID

2021-08-23 14:13:30 字數 966 閱讀 7809

solid是物件導向設計5大重要原則的首字母縮寫:

1、單一職責原則(srp)

2、開放封閉原則(ocp)

3、黎克特制替換原則(lsp)

4、介面隔離原則(isp)

5、依賴倒置原則(dip)

下面具體解釋一下每個原則:

1、單一職責原則(srp)

表明乙個類只有乙個職責,乙個類就像容器一樣。它能新增任意數量的屬性、方法等。然而,如果你試圖讓乙個類實現太多,很快這個類就會變得笨重,任意小的改變都會讓這個單一類的變化。當你改了這個類,為了不對現有系統造成影響,不得不重新測試甚至解決由此帶來的bug。srp原則的核心是將整個問題分割成多個更小的部分,當某個小部分需要改變時,需要重新測試驗證的也只有很小的一部分。

2、開放封閉原則(ocp)

表明乙個類應該對外擴充套件開放,對修改關閉,這意味著一旦建立了乙個類並且應用程式的其他部分開始使用它,而不應該修改它,因為很可能你的改變會引發系統的崩潰。如果需要一些額外功能,應該擴充套件這個類而不是修改它。使用這種方式,現有系統不會看到任何新變化的影響。同時,只需要測試新建立的類。

3、黎克特制替換原則(lsp)

表明派生的子類應該可替換基類,也就是說任何基類可以出現的地方,子類一定可以出現。值得注意的是,當你通過基礎實現多型行為時,如果派生類沒有遵守lsp,可能會讓系統引發異常。所以謹慎使用繼承,只有確定是「is-a「的關係時才使用繼承。

4、介面隔離原則(isp)

表明類不應該被強迫依賴他們不使用的方法,也就是說乙個介面應該擁有盡可能少的行為,它是精簡的,也是單一的。

5、依賴倒置原則(dip)

表明高層模組不應該依賴低層模組,相反,他們應該依賴抽象類或者介面。這意味著不應該在高層模組中使用具體的低層模組。因為這樣的華,高層模組變得緊耦合低層模組。這樣的話,如果修改了低層模組,那麼高層模組也會被修改。根據dip原則,高層模組應該依賴抽象(以抽象類或者介面的形式),低層模組也是如此。通過面向介面(抽象類)程式設計,緊耦合被移除

物件導向設計原則

oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...

物件導向設計原則

物件設計原則 物件導向設計原則 物件導向設計的基石是 開 閉 原則。開一閉 原則講的是 乙個軟體實體應當對擴充套件開放,對修改關閉。這個規則說的是,在設計乙個模組的時候,應當使這個模組可以在不被修改的前提下被擴充套件。從另外乙個角度講,就是所謂的 對可變性封裝原則 對可變性封裝原則 意味著兩點 1 ...

物件導向設計原則

oo原則 封裝變化 多用組合,少用繼承 針對介面程式設計,不針對實現程式設計 為互動物件之間的松耦合而努力 類應該對擴充套件開放,對修改關閉 依賴抽象,不要依賴具體類 只和朋友交談 別找我,我會找你 類應該只有乙個改變的理由 從設計原則到設計模式 針對介面程式設計,而不是針對實現程式設計 客戶無需知...