設計模式之依賴倒轉原則

2021-08-07 04:53:57 字數 1021 閱讀 8609

a. 高層模組不應該依賴低層模組。兩個都應該依賴抽象。

b. 抽象不應該依賴細節。細節應該依賴抽象

物件導向開發時,為了使得常用**可復用,一般都會把這些**寫成許多的函式庫,我們在做專案時呼叫這些底層的**函式就可以了。比如我們做的專案大多低層模組。要訪問資料庫,所以我們就會把訪問資料庫的**寫成函式,每次做新的專案的時候去呼叫這些函式,這也叫做高層模組依賴。問題是我們要做新的專案時,發現業務的高層模組是一樣的,但是客戶卻希望用不同的資料庫或儲存資訊方式,這時候就麻煩了,低層與高層模組耦合度太高了,無法復用。

無論是高層模組還是低層模組,他們都依賴於抽象,具體一點就是介面或者抽象類,只要介面是穩定點的,那麼任何乙個更改都不會影響其他模組。

依賴倒置原則的核心就是介面,下面我們為車和司機定義兩個介面icar和idriver,**如下所示:

///

/// 汽車介面

///public

inte***ce icar

////// 司機介面

///public

inte***ce idriver

//實現介面

///

/// 司機a實現介面

///public

class drivera : idriver

}///

/// 司機b 實現介面

///public

class driverb : idriver

}///

/// bmw車實現汽車的介面

///public

class bmw : icar

}public

class benz : icar

}

客戶端**:

依賴倒轉原則原始碼

設計模式 依賴倒轉原則

依賴倒轉原則又稱依賴倒置原則 抽象不應該依賴細節,細節應該依賴於抽象。說白了,就是針對介面程式設計,不要針對實現程式設計。依賴倒置原則包含三層含義 1 高層模組不應該依賴低層模組,兩者都應該依賴其抽象 2 抽象不應該依賴細節 3 細節應該依賴抽象。看了上面的解釋相信大家會和我一樣會有一些疑問在腦海裡...

設計模式 依賴倒轉原則

依賴倒轉原則解釋 抽象不應該依賴於細節,細節應該依賴於抽象。說通俗點也就是針對介面程式設計,不要針對實現程式設計。我們在做開發的時候,要訪問資料庫,就會把訪問資料庫的 寫成函式,每次去開發的時候呼叫這些函式就行了,其實這就叫高層模組依賴底層模組,違反了依賴倒轉原則。當我們做乙個新專案的時候,發現業務...

設計模式 依賴倒轉原則

include using namespace std class benz boss bmw bmw void drivebenz void drivebmw private benz benz bmw bmw 此時若老闆還想開寶馬,必須還要再有乙個bmw bmw私有變數,還要定義相應的建構函式和...