依賴關係傳遞的三種方式
//完成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私有變數,還要定義相應的建構函式和...