設計原則 依賴倒轉原則

2021-09-01 03:29:43 字數 800 閱讀 7381

設計原則-------依賴倒轉原則(dip)

依賴倒轉原則:抽象不應該依賴細節,細節應該依賴抽象。

通俗地說,就是要針對介面程式設計,而不要對具體實現程式設計。比如無論主機板、cpu、記憶體、硬碟都是在針對介面設計的,如果針對實現來設計,記憶體就要對應到具體的品牌的主機板,就會出現換記憶體需要把主機板也換掉的尷尬。

1. 高層模組不應該以來底層模組。兩個都應該以來抽象。

2. 抽象不應該以來細節。細節應該以來抽象。

為什麼要叫倒轉?

面向過程的開發時,為了使得常用**可以復用,一般都會把這些常用**寫成許許多多函式的程式庫,這樣我們在做新專案時,去呼叫這些底層的函式就可以了。比如我們做的專案大多要訪問資料庫,所以我們就把訪問資料庫的**寫成了函式,每次做新專案時就去呼叫這些函式。這也就叫做高層模組以來底層模組。

我們要做新專案時,發現業務邏輯的高層模組都是一樣的,但客戶卻希望使用不同的資料庫或儲存資訊方式,這時就出現麻煩了。我們希望能再次利用這些高層模組,但

高層模組都是與底層的訪問資料庫繫結在一起的,沒辦法復用這些高層模組,這就非常糟糕了。 

就像剛才說的,pc裡如果cpu、記憶體、硬碟都需要以來具體的主機板,主機板一懷,所有的部件就都沒用了,這顯然不合理。反過來,如果記憶體壞了,也不應該造成其他部件不能用才對。而如果不管高層模組還是底層模組,它們都依賴於抽象,具體一點就是介面或抽象類,

只要介面是穩定的,那麼任何乙個的更改都不用擔心其他收受到影響,這就使得無論高層模組還是底層模組都可以很容易地被復用。

為什麼依賴了抽象的介面或抽象類,就不怕更改呢?

黎克特制代換原則給我們解釋了這一點。

依賴倒轉原則

1 所謂依賴倒置原則 dependence inversion principle 就是要依賴於抽象,不要依賴於具體。簡單的說就是要求對抽象進行程式設計,不要對實現進行程式設計,這樣就降低了客戶與實現模組間的耦合。2 面向過程的開發,上層呼叫下層,上層依賴於下層,當下層劇烈變動時上層也要跟著變動,這...

依賴倒轉原則

一 什麼是依賴倒轉原則?抽象不應當依賴於細節 細節應當依賴於抽象 或者說 要針對介面程式設計,不要針對實現程式設計 二 為什麼叫做依賴倒轉原則?傳統的過程性系統設計傾向於使高層次的模組依賴於低層次的模組 抽象層次依賴於具體層次。依賴倒轉原則就是要把這種依賴關係倒轉。抽象層包含的是系統的商務邏輯和巨集...

依賴倒轉原則

依賴倒轉原則 依賴倒轉原則,意思就是抽象不應該依賴細節,細節應該依賴抽象,說白了,就是要針對介面程式設計,不要對實現程式設計。為什麼要叫 倒轉 面向過程開發時,為了使 可以復用,一般會把常用的 封裝成許多函式的程式庫,這樣再寫新專案時這些底層 也可以使用,這種情況就是高層模組依賴底層模組,這屬於 正...