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