我与两个2种类型的容器IWindsorContainer
和IUnityContainer
之间在不同项目服务和接口绑定工作。但我不确定有什么区别?他们有相同的功能吗?如果是的话,那么在现有的情况下需要开发另外一个。还是他们有一些分歧?如果是,那是什么?哪一个目的我会用哪一个?反对这种混乱,我得到了一个小小的documentation,但我没有安静地抓住它。所以如果你让我知道它,那么我会很感激。提到,我在这里使用NHibernet
映射。IWindsorContainer vs IUnityContainer和有什么不一样?
7
A
回答
3
我用两个容器,它们之间的巨大差异,多年来使用每个一直认为UnityContainer由一个团队管理,仍然被延长。温莎的容器在回归真正的错误方面并不是很出色。 UnityContainer有很好的文档,使用nuget或其他仓库管理器安装非常简单。
这里是我的意思是......如果你看看如何使用自己的代码,https://github.com/castleproject/Windsor/blob/master/docs/README.md,温莎例如非常模糊。
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly()
.Where(Component.IsInSameNamespaceAs<King>())
.WithService.DefaultInterfaces()
.LifestyleTransient());
}
如果你想看看团结,https://github.com/unitycontainer/unity/blob/master/quickstarts/CS/EventBroker/Src/Stoplight/Program.cs,它变得更清楚什么是用不同的方式注册它们发生。使用Unity时,错误代码在使用兔子洞时也更加干净。
IUnityContainer container = new UnityContainer()
.AddNewExtension<SimpleEventBrokerExtension>()
.RegisterType<ILogger, TraceLogger>()
.RegisterType<IStoplightTimer, RealTimeTimer>();
1
相关问题
- 1. mozconfig vs moz.configure和有什么不一样?
- 2. Prism的IContainer和IUnityContainer有什么区别?
- 3. ReentrantLock vs stampedlock和有什么不一样?哪一个更喜欢?
- 4. .hlsl和.hlsli和有什么不一样?
- 5. MSIE,IEMobile,MSIEMobile和有什么不一样?
- 6. volatile&extern和有什么不一样?
- 7. openjdk-7-jre-headless VS openjdk-7-jre与有什么不一样?
- 8. 为什么-0.0和0.0不一样?
- 9. 为什么不line.split('\ s')和line.split()一样?
- 10. Java:<init>和<clinit>和有什么不一样?
- 11. <% %>和<%= %>和有什么不一样?
- 12. IEqualityComparer <T>和IEquatable <T>和有什么不一样?
- 13. 为什么UNION ALL有和没有括号表现不一样?
- 14. HTTP_USER_AGENT和navigator.userAgent不一样,有什么想法吗?
- 15. 内联样式与“内联样式”。有什么不同?
- 16. linq vs ToDictionary()和TryGetValue() - 什么更有效?
- 17. 为什么这样杀vs 2010
- 18. Cabal库vs cabal-install。有什么不同?
- 19. sjlj vs dwarf vs seh有什么区别?
- 20. vim中的<C-C>和<C-[>和有什么不一样?
- 21. Seq.iter vs - 有什么区别?
- 22. VS Code和VS 2017社区版有什么区别?
- 23. 为什么我有这样一种BarButton?
- 24. 为什么输出不一样?
- 25. 有人能告诉我是什么样的一类和C++
- 26. FROM`tableName`和FROM tableName有什么不同?
- 27. Silverlight,MSBuild,VS和一些共享文件。怎么样?
- 28. 为什么Unity不能注入一个具体的容器实现而不是IUnityContainer?
- 29. Valgrind输出和rdtsc不一致...为什么会这样呢?
- 30. 为什么在Javascript和PHP中LShift(<<)不一样?
[依赖注入容器的可能的复制?它有什么作用?(http://stackoverflow.com/questions/8015101/dependency-injection-container-what-does-it-do) – NightOwl888
亲爱的@ NightOwl888,我想知道的差异,其中应我使用在哪种情况下。我想你不明白我问过的。关于你在那里提供的重复答案,他们只讨论了'Windsor文档',没有关于'IUnityContainer'的其他内容,我也在这里讨论。 –
您可以使用任何您想要的DI容器(或根本没有DI容器)来实现依赖注入模式。但在相同的应用程序中使用多个应用程序可能是错误的。要了解有关依赖注入我建议你阅读[在.NET依赖注入(https://www.manning.com/books/dependency-injection-in-dot-net)。这个主题过于宽泛,不能用简单的问答格式来讨论。 – NightOwl888