一、什麼是IOC
IoC Inversion of Control (控制反轉/反轉控制),注意它是一個技術思想,不是一個技術實作描述的事情:Java開發領域對象的建立,管理的問題。
傳統開發方式:比如類A依賴于類B,往往會在類A中new一個B的對象。
IoC思想下開發方式:我們不用自己去new對象了,而是由IoC容器(Spring架構)去幫助我們執行個體化對象并且管理它,我們需要使用哪個對象,去問IoC容器要即可。
我們喪失了一個權利(建立、管理對象的權利),得到了一個福利(不用考慮對象的建立、管理等一系列事情)
為什麼叫做控制反轉?
控制:指的是對象建立(執行個體化、管理)的權利
反轉:控制權交給外部環境了(spring架構、IoC容器)
二、IoC解決了什麼問題
IoC解決對象之間的耦合問題
三、 IoC和DI的差別
DI:Dependancy Injection(依賴注入)
怎麼了解:IOC和DI描述的是同一件事情,隻不過角度不一樣罷了。