我偶然發現了一些代碼,我很好奇爲什麼它會這樣。構造具有函數作爲依賴注入手段的對象
有兩個構造函數,主要是在代碼中調用,第二個是在依賴注入測試中使用。第二個構造函數接受一個返回對象的函數,而不是對象本身的一個實例。
MainConstructor()
:this(() => Factory.Current.GetInstance<IQueryService>()){
}
SecondConstructor(Func<IQueryService> getQueryService){
}
我很好奇你會從傳遞函數而不是實例中獲得好處。
什麼是一種奇怪的方式來做依賴注入。 – Snowbear 2011-02-07 19:11:13