什麼是依賴倒置原則?

2022-03-15 12:52:27 字數 733 閱讀 5603

依賴倒置原則(dependence inversion principle,dip)是 object mentor 公司總裁羅伯特·馬丁(robert c.martin)於 1996 年在c++ report 上發表的文章。

依賴倒置原則的原始定義為:高層模組不應該依賴低層模組,兩者都應該依賴其抽象;抽象不應該依賴細節,細節應該依賴抽象(high level modules shouldnot depend upon low level modules.both should depend upon abstractions.abstractions should not depend upon details. details should depend upon abstractions)。其核心思想是:要面向介面程式設計,不要面向實現程式設計。

咱們在碼**的時候,一定都寫過介面,寫過抽象類,然後再進行例項化得到具體物件。

然後讓例項化得到的具體物件依賴於介面或者抽象類,做到這點也就意味著自己的**遵循了依賴倒置原則。

依賴倒置原則的主要作用如下。

依賴倒置原則是實現開閉原則的重要途徑之一,它降低了客戶與實現模組之間的耦合。

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

使用介面或者抽象類的目的是制定好規範和契約,而不去涉及任何具體的操作,把展現細節的任務交給它們的實現類去完成。

摘自

什麼是依賴倒置

依賴倒置 兩個類有關係就是依賴。例如 領導和員工。領導要幹活,需要呼叫員工來幹活。也就是領導 依賴關係就是 領導 員工 如果員工辭職,那領導就鬱悶了。現在中間加了乙個角色叫做總監,他負責給領導匯報,也就是介面。他找員工,需要員工實現了 工作介面。結果領導要工作,只要讓總監幹活就行了。總監直接呼叫員工...

依賴倒置原則

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

依賴倒置原則

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