理論

發(fā)現(xiàn)問題

在深入細(xì)節(jié)之前,需要確保我們理解"IOC控制反轉(zhuǎn)"和"DI依賴注入"是什么,能夠解決什么問題,這些在維基百科中有非常清晰的說明。

  • 控制反轉(zhuǎn)(Inversion of Control,縮寫為IoC):是面向?qū)ο缶幊?/a>中的一種設(shè)計(jì)原則,可以用來減低計(jì)算機(jī)代碼之間的耦合度。

  • 依賴注入(Dependency Injection,簡稱DI):DI是IOC的一種實(shí)現(xiàn),表現(xiàn)為:在類A的實(shí)例創(chuàng)建過程中即創(chuàng)建了依賴的B對象,通過類型名稱來判斷將不同的對象注入到不同的屬性中。

  • 依賴查找(Dependency Lookup,簡稱DL):DL是IOC的另外一種實(shí)現(xiàn),在需要的時(shí)候通過調(diào)用框架提供的方法來獲取對象,獲取時(shí)需要提供相關(guān)的配置文件路徑、key等信息來確定獲取對象

依賴注入與依賴查找是控制反轉(zhuǎn)的2種實(shí)現(xiàn)方式,后者很少見,我們主要研究依賴注入。

如果此前沒有接觸過這些概念,可能還是過于抽象不容易理解,但是下面這個(gè)場景你應(yīng)該是見過的:

網(wǎng)友評論