一。什麼叫控制反轉
moattack 墨攻劇本需要乙個英雄,去喊話,「墨者革離」。這時候劇本就控制liudehua(劉德華)去喊話。
這個演員不一定確定是劉德華,我們可能找其他人來喊話,但是這個人必須有乙個功能喊話。所以我們定義了乙個角色介面(geli)演員實現這個介面。
我們需要實現劇本只是依賴角色。而不依賴演員。這個時候我們引入乙個新的物件。導演
public moattack
public
void
citygateask()
}----------
public
inte***ce geli
public class liudehua
}public class director
}
這樣就講劇本和劉德華解耦了。可以安排不同的人來出演。
ioc依賴注入有三種方式。
建構函式注入
屬性注入
介面注入
public moattack
public
moattack(geli geli)
public
void
citygateask()
}
以上就是建構函式依賴注入,和屬性方法依賴注入的對比。
對於介面注入它的效果和屬性注入無本質區別,有點多次一舉的意思。
以上是協助類注入,還是自己寫**。但是我們的角色,導遊可能都是海選的,即角色不是由導演選擇,三者解耦。這時候就要用到容器了
spring就是這樣的乙個容器。它通過配置檔案或者註解描述類與類之間的依賴關係,自動完成類的初始化和依賴注入的工作。
先例項化,然後依賴注入。
ioc 控制反轉之依賴注入
ioc是控制反轉的意思,所謂的依賴注入更像是注入依賴。當你想在a的內部呼叫b物件的某個功能時,我們說這個是a依賴於b了。那當你在a的內部例項化了b,那麼你就把這兩個類耦合了在一起。以後你修改一些東西自然就麻煩了許多,那麼我們可以怎麼做呢?我們可以使用ioc將乙個b的例項從外部設定給a,這樣就做到了低...
Spring 依賴注入(IoC) 控制反轉
依賴注入 dependecy injection 和控制反轉 inversion of control 是同乙個概念,具體的講 當某個角色需要另外乙個角色協助的時候,在傳統的程式設計過程中,通常由呼叫者來建立被呼叫者的例項。但在spring中 建立被呼叫者的工作不再由呼叫者來完成,因此稱為控制反轉。...
IoC模式(依賴 依賴倒置 依賴注入 控制反轉)
依賴就是有聯絡,有地方使用到它就是有依賴它,乙個系統不可能完全避免依賴。如果你的乙個類或者模組在專案中沒有用到它,恭喜你,可以從專案中剔除它或者排除它了,因為沒有乙個地方會依賴它。下面看乙個簡單的示例 public class operationmain public class player 檔案...