C 依賴倒置原則的簡單實現

2021-10-01 19:59:13 字數 907 閱讀 9534

依賴倒置原則(dependence inversion principle)是程式要依賴於抽象介面,不要依賴於具體實現。表現在具體程式中,常用的方法為設定中間層(架空層)介面,而後底層類實現中間層介面,頂層類呼叫中間層方法。頂層和底層之間實現隔離,降低了頂級類和底層類之間的耦合。

(類圖)

對於依賴倒置原則完成了乙個簡單實現:底層包括keyboard和monitor(負責輸入和輸出),頂層為calculator。資料的交流可以使用資料庫,或者全域性變數簡單實現。

中間層(架空層)

class

device

;class

inputdev

:public device

;class

outputdev

:public device

;

底層(實現中間層介面)

//keyboard類負責輸入

class

keyboard

:public inputdev};

//monitor類負責輸出

class

monitor

:public outputdev

};

頂層

class

calculator

//呼叫中間層方法

void

work()

//計算的方法...自定義

private

: device* indev;

device* outdev;

};

輸出結果如下:

依賴倒置原則

依賴倒置原則 為什麼會出現這個原則呢?q 所有的一切都源於變化,現在orm足夠強大了,看一下他的原始碼也會發現,工廠 介面的使用都是為了更好的擴充套件。舉個簡單的例子 你的老師讓你寫了乙個 豬 類,實現了他的移動方法,如下 public class pig public class client 第...

依賴倒置原則

1 抽象不應該依賴於具體,具體應該依賴於抽象。2 高層次模組不應該依賴於低層次模組,它們都應該依賴於抽象。對於乙個小賣部來說,有許多飲料,比如可樂 雪碧 橙汁 這時,我們把小賣部定義為乙個具體類,如果我們沒有選擇依賴倒置原則的話,我們就應該在小賣部中new coke new sprit new or...

依賴倒置原則

依賴倒置原則 說白了就是 針對介面程式設計。case 比如在 unity 中,為了使常用 可以復用,會把許多函式寫成程式集,每次做新專案的時候直接呼叫這些函式就可以。也是高層模組依賴低層模組 資源載入,當前專案是使用 resoucers 方式載入的 class resourcemanager 有一天...