我在我的Web應用程序中使用IoC進行實驗,並希望根據最佳實踐進行操作。最近我發現了一個名爲DryIoc的IoC框架,它應該是小而快的。何處放置容器?
我已經讀過這些例子,但似乎沒有指出我應該放置容器本身。
它應該駐留在控制器中嗎?或者在Global.asax中?其他地方也許?或者也許作爲一個類的靜態變量?
如果有人能夠引導我朝着正確的方向發展,最好是使用一些示例代碼,因爲我停滯不前,並且不知道如何繼續,我會感激的。
var container = new Container(); // Should obviously NOT be a local variable
container.Register<ISalesAgentRepository, SalesAgentRepository>(Reuse.Singleton);
您需要使用[合成根目錄](http://blog.ploeh.dk/2011/07/28/CompositionRoot/)中的容器。 –
我建議使用更廣泛使用的容器來開始使用DI,因爲您會發現更多的支持,示例和工具。如果在使用不同的容器之後,您決定嘗試使用這些小型,不受歡迎的容器,那麼您將有經驗知道如何正確使用它們。 –
與其他評論和回答相反,我建議你[根本不要使用DI容器](http://blog.ploeh.dk/2014/06/10/pure-di)。這將有利於您更好地瞭解底層模式,並且不會陷入一些尷尬的API問題。 –