設計模式 3 依賴倒轉原則

2021-09-29 07:47:58 字數 1791 閱讀 4811

依賴關係傳遞的三種方式

//完成person接收訊息的功能

public

class

dependecyinversion

}class

email

}class

person

}

方式1分析簡單,比較容易想到

解決思路:引入乙個抽象的介面ireceiver, 表示接收者, 這樣person類與介面ireceiver發生依賴

因為email, weixin 等等屬於接收的範圍,他們各自實現ireceiver 介面就ok, 這樣我們就符號依賴倒轉原則`

public

class

dependecyinversion

}//定義介面

inte***ce

ireceiver

class

email

implements

ireceiver

}class

weixin

implements

ireceiver

}//方式2

上面之前的那個案例就是介面傳遞的方式。

下面再分別舉例說明這3個方式:

以使用某電視機**為案例

開關的介面

inte***ce

iopenandclose

電視介面

inte***ce

itv

電視實現類–長虹電視

class

changhong

implements

itv}

使用長虹電視**節目

class

openandclose

implements

iopenandclose

}

測試

測試

測試:

設計模式 依賴倒轉原則

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

設計模式 依賴倒轉原則

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

設計模式 依賴倒轉原則

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