何為依賴倒置原則,主要分為一下三點:
1、模組間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過介面或抽象類產生 的;
2、介面或抽象類不依賴於實現類;
3、實現類依賴介面或抽象類;
實際開發中的用法:
1、每個類盡量都有介面或抽象類,或者抽象類和介面兩者都具備;
2、變數的表面型別盡量是介面或者是抽象類;
3、盡量不要覆寫基類的方法;
4、 結合黎克特制替換原則使用,我們可以得出 這樣乙個通俗的規則: 介面負責定義public屬性和方法,並且宣告與其他物件的依賴關係,抽象類負責公共構 造部分的實現,實現類準確的實現業務邏輯,同時在適當的時候對父類進行細化。
例如:模擬司機開車的場景:
兩實現相互依賴,如果還要加上司機需要開bmw車是不是就會很難擴充套件,所以合理的設計如下:引入之後發現是不是很好擴充套件,這就是依賴倒置原則的魅力。
設計原則 依賴倒置原則
在物件導向程式設計領域中,依賴倒置原則 dependency inversion principle,dip 是指一種特定的解耦 傳統的依賴關係建立在高層次上,而具體的策略設定則應用在低層次的模組上 形式,使得高層次的模組不依賴於低層次的模組的實現細節,依賴關係被顛倒 反轉 從而使得低層次模組依賴於...
設計原則之依賴倒置原則
定義 高層模組不應該依賴低層模組,二者都應該依賴其抽象 抽象不應該依賴細節 細節應該依賴抽象。問題 類a直接依賴類b,假如要將類a改為依賴類c,則必須通過修改類a的 來達成。這種場景下,類a一般是高層模組,負責複雜的業務邏輯 類b和類c是低層模組,負責基本的原子操作 假如修改類a,會給程式帶來不必要...
opp設計原則 依賴倒置原則
定義 高層模組不應該依賴低層模組,二者都應該依賴其抽象 抽象不應該依賴細節 細節應該依賴抽象。問題由來 類a直接依賴類b,假如要將類a改為依賴類c,則必須通過修改類a的 來達成。這種場景下,類a一般是高層模組,負責複雜的業務邏輯 類b和類c是低層模組,負責基本的原子操作 假如修改類a,會給程式帶來不...