控制反轉和依賴注入的理解

什麼是控制反轉(IOC)

平時我們使用類的對象,需要自己new一個 然後調用。控制反轉就是不自己實例化 而是交給第三方實例化,這裏的第三方就叫做IOC容器。

控制反轉這個名字就是相對於我們平時的使用模式起的,之前是我們自己控制類的實例化,現在由第三方實例化,這裏對於對象的控制責任就反轉到IOC容器手上了。

控制反轉不是具體的技術,而是一種思想 只要是實現這個思想的技術都可以叫做控制反轉

什麼是依賴注入

依賴注入是控制反轉發揮作用的方式

平時我們在代碼中調用某個類需要指定這個類的依賴關係,同時如果這個類改動了(比如構造方法改變) 那麼還需要在調用處修改

依賴注入追求的就是解耦,當我們使用IOC容器實例化對象、注入對象時,這些對象間的依賴關係就轉交給IOC容器管理了。依賴關係就解耦了

PS

1、控制反轉和依賴注入都是思想而不是具體技術,我們可以使用具體技術實現這種思想

2、控制反轉和依賴注入是一套武學禮包,控制反轉是內功祕籍,依賴注入是和控制反轉這個內功配套的外功祕籍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章