物件導向設計原則四 依賴倒置原則

2022-02-02 09:50:14 字數 714 閱讀 5664

依賴倒置原則(dip)

定義:高層模組不應該依賴底層模組,兩者都應該依賴其抽象;抽象不應該依賴細節;細節應該依賴抽象。

好處:穩定性、可維護性、可擴充套件性。

概述:di就是依賴倒置的意思,也可稱為控制反轉,我們以前編寫結構化的程式當中,也就是c語言這樣的語言時,高層模組依賴於底層模組,也就是呼叫者和被呼叫者的關係,呼叫者要依賴於被呼叫者,被呼叫者編寫的一些功能和服務,會影響高層,一旦底層發生了變化,也就是被呼叫者發生了變化,就直接影響了高層也就是呼叫者。這樣的設計,很難保證他的穩定性,經常會發生變化,**維護起來也非常的困難。

但是在物件導向的設計中,這種設計應該反過來,底層和高層不應該有這樣的依賴關係,高層不應該依賴於底層,底層也不應該依賴於高層。底層和高層都應該依賴於抽象類或介面,底層變化,不影響高層。依賴倒置原則:本質上是在要求我們「面向介面程式設計」,它要求每個類盡量都來自介面或抽象類,變數定義盡量使用抽象類或介面,不要使用具體類,這樣便於擴充套件,盡量不要覆蓋父類已經實現好的方法。介面負責公共方法的宣告,抽象類負責公共方法實現的定義。

開閉原則和依賴倒置原則是目標和手段的關係。開閉是目標,可以通過依賴倒置來實現對功能擴充套件開放,對修改關閉。

因為依賴倒置原則和開閉原則是手段和目標的關係,也就是依賴倒置原則的好處和開閉原則的好處基本上是一致的,它的好處就是可以減少類之間的耦合度,進一步提高系統的穩定性、可維護性和可擴充套件性,只不過依賴倒置原則建議盡量使用抽象類和介面,而開閉原則突出的是使用了抽象類和介面之後的效果!

物件導向設計原則 依賴倒置原則

依賴倒置原則 dependence inversion principle,dip 依賴倒置原則的原始定義為 高層模組不應該依賴低層模組,兩者都應該依賴其抽象 抽象不應該依賴細節,細節應該依賴抽象。其核心思想是 要面向介面程式設計,不要面向實現程式設計。依賴倒置原則是實現開閉原則的重要途徑之一,它降...

物件導向原則 依賴倒置原則

我寫這個自然段的時候,還沒有具體的看依賴倒置的含義。也就是不知者,不知者就算理解錯了也無罪哈哈。我現在有三個疑問,何為依賴,何為倒置 因為我感覺這個名字起得,有點讓人不太好理解!依賴為何倒置?目前在我看來,依賴關係,是乙個物件作為另乙個類的某個方法的引數,那麼他倆是依賴關係。那麼倒置是什麼含義?與我...

依賴倒置原則 物件導向設計原則之依賴倒置原則

依賴倒置原則的定義 依賴倒置原則 dependence inversion principle,dip 是 object mentor 公司總裁羅伯特 馬丁 robert c.martin 於 1996 年在 c report 上發表的文章。依賴倒置原則的原始定義為 高層模組不應該依賴低層模組,兩者...