ioc(控制反轉(zhuǎn))和di(依賴注入)的思想

如果一個(gè)類A 的功能實(shí)現(xiàn)需要借助于類B,那么就稱類B是類A的依賴

class B {
    各科成績
}
class A {
    根據(jù)B里面的成績,計(jì)算總成績
}

如果在類A的內(nèi)部去實(shí)例化類B,那么兩者之間會出現(xiàn)較高的耦合,一旦類B出現(xiàn)了問題,類A也需要進(jìn)行改造,如果這樣的情況較多,每個(gè)類之間都有很多依賴,那么就會出現(xiàn)牽一發(fā)而動全身的情況,程序會極難維護(hù),并且很容易出現(xiàn)問題。要解決這個(gè)問題,就要把A類對B類的控制權(quán)抽離出來,交給一個(gè)第三方去做,把控制權(quán)反轉(zhuǎn)給第三方,就稱作控制反轉(zhuǎn)(IOC Inversion Of Control)。控制反轉(zhuǎn)是一種思想,是能夠解決問題的一種可能的結(jié)果,而依賴注入(Dependency Injection)就是其最典型的實(shí)現(xiàn)方法。由第三方(我們稱作IOC容器)來控制依賴,把他通過構(gòu)造函數(shù)、屬性或者工廠模式等方法,注入到類A內(nèi),這樣就極大程度的對類A和類B進(jìn)行了解耦。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容