天天看點

控制反轉和依賴注入

網絡上,這些概念看上去很複雜,并且衆說紛纭。我讀了其中幾篇文章,按照自己的了解總結一下。凡學習,必須有筆記輸出,否則等于從來沒有學過。

其實,控制反轉(IoC)、依賴注入(DI)和設計模式中的依賴倒置是一脈相承的:都是面向接口程式設計的一種表述。

一、依賴倒置原則:

A.高層次的子產品不應該依賴于低層次的子產品,他們都應該依賴于抽象。

B.抽象不應該依賴于具體,具體應該依賴于抽象。

二、控制反轉:

兩個對象之間的直接依賴,變成了共同依賴于接口。

這就是反了;控制,原先是兩個對象耦合得很深,互相控制。

三、依賴注入:

一個對象A内部,使用了另外一個對象B。這就依賴得很深。改為:

在對象A内部,使用的是接口或抽象函數,而對象B繼承于該接口或抽象函數。在運作過程中,再将對象B作為參數傳進對象A内部(注入,我靠,好黃好暴力)。

在這幾個概念都與接口息息相關。

繼續閱讀