發(fā)現(xiàn)問(wèn)題
在深入細(xì)節(jié)之前,需要確保我們理解"IOC控制反轉(zhuǎn)"和"DI依賴注入"是什么,能夠解決什么問(wèn)題,這些在維基百科中有非常清晰的說(shuō)明。
控制反轉(zhuǎn)(Inversion of Control,縮寫(xiě)為IoC):是面向?qū)ο缶幊?/a>中的一種設(shè)計(jì)原則,可以用來(lái)減低計(jì)算機(jī)代碼之間的耦合度。
依賴注入(Dependency Injection,簡(jiǎn)稱DI):DI是IOC的一種實(shí)現(xiàn),表現(xiàn)為:在類A的實(shí)例創(chuàng)建過(guò)程中即創(chuàng)建了依賴的B對(duì)象,通過(guò)類型或名稱來(lái)判斷將不同的對(duì)象注入到不同的屬性中。
依賴查找(Dependency Lookup,簡(jiǎn)稱DL):DL是IOC的另外一種實(shí)現(xiàn),在需要的時(shí)候通過(guò)調(diào)用框架提供的方法來(lái)獲取對(duì)象,獲取時(shí)需要提供相關(guān)的配置文件路徑、key等信息來(lái)確定獲取對(duì)象
依賴注入與依賴查找是控制反轉(zhuǎn)的2種實(shí)現(xiàn)方式,后者很少見(jiàn),我們主要研究依賴注入。
如果此前沒(méi)有接觸過(guò)這些概念,可能還是過(guò)于抽象不容易理解,但是下面這個(gè)場(chǎng)景你應(yīng)該是見(jiàn)過(guò)的:
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式