我做了我的配置是這樣的:StructureMap,使用容器或objectfactory進行配置?
var container = new Container(x =>
{
x.For<IEngine>().Use<V6Engine>();
x.For<ICar>().Use<HondaCar>();
}
);
然後在我的MVC控制器動作我做:
ICar car = ObjectFactory.GetInstance<ICar>();
我應該設置使用容器或ObjectFactory的不知我的容器?它並沒有解決,所以我在C#控制檯應用程序測試的東西出來,它的工作,如果我做的:
ICar car = container.GetInstance<ICar>();
但這僅適用於如果容器是在局部範圍內,並在web應用程序是不顯然,因爲東西都在的global.asax.cs有線了
btw:從Objectfactory直接拖動對象是一種反模式... –
嗨,我很新的結構映射自己 - 我認爲這只是一個反模式,如果你要在無參數構造函數中使用ObjectFactory.GetInstance比通過參數傳遞它並讓IoC容器完成這項工作?你能否詳細說明一下,因爲我不想撿到不好的食物。是簡單的調用,如IService服務= ObjectFactory.GetInstance();如果沒有緊密耦合兩個元素,好嗎? –
Glenit