我目前正在研究WP 8.1應用程序(運行時,不是silverlight),我想查找IoC容器。我使用Caliburn.Micro,這很好,因爲它在視圖模型中使用構造函數注入,但是我也有一個後臺代理,它無法使Caliburn.Micro的IoC容器加載。適用於Windows Phone 8.1的IoC容器
在我的應用程序,我可以做這樣的事情:
...
public MyViewModel(ISyncService syncService, IOtherService otherService)
{
_syncService = syncService;//and so on for all services
}
或者是這樣的:
var syncService = IoC.Get<ISyncService>();
在我的經紀人,我不能做同樣的事情,因爲是卡利在那裏沒有用,所以我被迫做了這樣的事情:
var syncService = new SyncService(new AppSettings(), new AuthenticationService(webClient),
new PromotionalMessagesService(webClient)...));
我想你明白了。 ISyncService在構造函數中有7個服務需要,每個服務在其ctor中有更多。除了醜陋的代碼之外,另一個缺點是,如果我改變某個服務的ctor中的某些東西,我必須每次更新它。
您是否知道WP 8.1的任何良好IoC容器,或者您對此問題有更好的想法?
謝謝,我不知道這件事。 我想我會嘗試Autofac,看看它是如何工作的。 – thewindev