三 設計模式 依賴倒置原則

2021-10-09 07:18:03 字數 788 閱讀 7680

依賴倒置原則的原始定義為:高層模組不應該依賴低層模組,兩者都應該依賴其抽象;抽象不應該依賴細節,細節應該依賴抽象。其核心思想是:要面向介面程式設計,不要面向實現程式設計。

由於在軟體設計中,細節具有多變性,而抽象層則相對穩定,因此以抽象為基礎搭建起來的架構要比以細節為基礎搭建起來的架構要穩定得多。這裡的抽象指的是介面或者抽象類,而細節是指具體的實現類。

一、依賴倒置原則的作用

依賴倒置原則可以降低類間的耦合性。

依賴倒置原則可以提高系統的穩定性。

依賴倒置原則可以減少並行開發引起的風險。

依賴倒置原則可以提高**的可讀性和可維護性。

二、依賴倒置原則的實現方法

依賴倒置原則的目的是通過要面向介面的程式設計來降低類間的耦合性

每個類盡量提供介面或抽象類,或者兩者都具備。

變數的宣告型別盡量是介面或者是抽象類。

任何類都不應該從具體類派生。

使用繼承時盡量遵循黎克特制替換原則。

三、**示例

本程式反映了 「顧客類」與「商店類」的關係。商店a中有 sell() 方法,顧客類通過該方法購物:shopa.sell()。

但是,這種設計存在缺點,如果該顧客想從商店b購物,就要將該顧客的**修改如下:shopb.sell():

存在以上缺點的原因是:顧客類設計時同具體的商店類繫結了,這違背了依賴倒置原則。

解決方法是:定義a店和b店的共同介面 shop,顧客類面向該介面程式設計

**傳送門

設計模式 依賴倒置原則

what high level modules should note depend upon low level modules.both should depend 高層模組不應該依賴底層模組,兩者都應該其抽象 抽象不應該依賴細節 細節應該依賴抽象 模組間的依賴通過抽象發生,實現類之間不發生直接...

設計模式原則 依賴倒置原則(DIP)

定義 高層模組不應該依賴低層模組,二者都應該依賴其抽象 抽象不應該依賴細節 細節應該依賴抽象。問題由來 類a直接依賴類b,假如要將類a改為依賴類c,則必須通過修改類a的 來達成。這種場景下,類a一般是高層模組,負責複雜的業務邏輯 類b和類c是低層模組,負責基本的原子操作 假如修改類a,會給程式帶來不...

設計原則 依賴倒置原則

在物件導向程式設計領域中,依賴倒置原則 dependency inversion principle,dip 是指一種特定的解耦 傳統的依賴關係建立在高層次上,而具體的策略設定則應用在低層次的模組上 形式,使得高層次的模組不依賴於低層次的模組的實現細節,依賴關係被顛倒 反轉 從而使得低層次模組依賴於...