NET的最佳IoC框架
Possible Duplicate: Which .NET Dependency Injection frameworks are worth looking into?
在StructureMap和Ninject中,哪个IoC最好?
这应该与以下各项合并:最佳注射框架
解决方案
视情况而定。对于需要简单容器的小型项目,我选择Ninject。我喜欢这样的事实,它既小又瘦。我不喜欢该属性,但是有很多解决方法。
对于大型解决方案,我们可能需要的不仅仅是简单的IoC,我会选择Castle的东西。那里有很大的灵活性,我们可以使用xml,属性或者DSL来配置内容,如果以后需要,可以将IoC扩展到AOP领域。
我还没有尝试过结构图。似乎它做得比IoC还要多。但我无法对此发表评论。我认为Ninject和Structuremap具有不同的用途,因此在不了解上下文的情况下很难在两者之间进行选择。更好通常是一个相对的概念:-)
我使用StructureMap,所以我可能认为这是最好的。但是,也许将来我会选择Unity,因为它受MS支持,这意味着更好的文档和更少的依赖一个人的好意,尽管那个人非常好。当然,我不会仅仅因为框架好就改变框架。只要某些东西有效,我什至不升级。
没有最好的。他们中的大多数人几乎以相同的方式完成了我们所需要的90%。在某些情况下,一个可能比另一个更灵活。
如果有选择,我选择温莎,如果没有其他选择,但我已经很清楚了。但是如果我必须使用Ninject或者StructureMap,我不会感到烦恼。它们都是很好的框架。
我知道目前Ninject是唯一将在Compact框架上运行的软件,因此如果需要的话。那么Ninject是要走的路。
我有点害怕Spring.NET,主要是因为我讨厌XML。但是也许它没有我想的那么糟糕,不要解雇我:)
我自己去做这个过程。我建议从ninject开始。只是因为它是如此轻巧,并且入门级确实很低。我们可以在几个小时内启动并运行它。
我们会发现,我们在设计系统时会考虑IoC,无论我们使用的IoC框架如何,设计都将基本相同。
在基本框架管道之间无需进行过多的重做,如果需要,我们应该可以将NInject换成诸如StructureMap之类的东西。
最好的选择是跟上一个,看看我们发现了什么问题,然后决定一种替代方法是否更适合需求。
那里的框架似乎正在经历一个动态的时期,到处都发布了新版本。而作为IoC甚至更多的MEF可能会迫使景观发生进一步变化。
对于小型项目,autofac是一个不错的选择。如果我们想将IoC +与任何我想像的东西进行集成,我建议使用Spring.NET。
编辑现在,我考虑了一下,Autofac可以适应任何规模的项目,而Spring.NET则显得过于精打细算。