IWindsorContainer和IUnityContainer有什么区别?
我已经在IWindsorContainer
和IUnityContainer
之间的两种类型的容器中用于服务和接口绑定的不同项目。 但我不确定有什么区别? 他们有相同的功能吗? 如果是的话,那么在现有的情况下需要开发另外一个。 还是他们有一些分歧? 如果是,那是什么? 哪一个目的我会用哪一个? 我收到了一份关于这种混乱的小文档,但我并没有安静地接受它。 所以如果你让我知道它,那么我会很感激。 提到,我在这里使用NHibernet
映射。
我已经使用了两个容器以及它们之间的巨大差异,多年来一直使用UnityContainer由团队管理,并且仍在扩展中。 温莎的容器在回归真正的错误方面并不是很出色。 UnityContainer有很好的文档,使用nuget或其他仓库管理器安装非常简单。
这就是我的意思......如果你看看如何使用他们的代码,https://github.com/castleproject/Windsor/blob/master/docs/README.md,windsor例如是非常混乱。
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>();
看看下面的链接。 这可能会帮助你https://visualstudiomagazine.com/articles/2014/09/25/refactor-5.aspx
链接地址: http://www.djcxy.com/p/95267.html上一篇: What is the difference between IWindsorContainer vs IUnityContainer?