在为.NET选择依赖注入框架时应该考虑什么
另请参阅哪些C#/ .NET依赖注入框架值得研究?
现在有许多依赖注入框架可供选择。 由于您使用的库,您经常被迫使用给定的依赖注入框架。 然而,通用服务定位器库已使库代码独立于注入框架。
花足够多时间来学习所有这些以决定使用哪一个是不合理的。 我不相信我们还没有达到可以谈论最佳依赖注入框架的阶段。 那么我应该问什么问题关于项目和我自己来帮助决定在特定情况下使用最佳依赖注入框架?
了解为什么选择当前使用的依赖注入框架也很有用,并且如果您仍然对该选择感到满意。
比较依赖注入框架的样式时是否还有一个有用的词汇表?
服务定位器库是在现实生活中工作的,还是你被迫在同一个项目中使用大量不同的依赖注入框架?
使用每个依赖注入框架进行代码折叠是多么容易,比如像ReSharper这样的工具如何在给定的框架下很好地工作?
仅供参考,就在今天上午,我在这里遇到了所有.NET IoC容器之间的一个有趣的比较:
http://elegantcode.com/2009/01/07/ioc-libraries-compared/
少数问题:
个人提示:
我已经使用了StructureMap,其原因与我链接的博客中提到的相同。 我认为Xml配置是一个巨大的难题,特别是调试(参见WCF)。 我还没有尝试Ninject,但基于他们的营销,它一定是超级拉德!
很难回答哪个框架是最好的,但我可以告诉你哪个框架最简单:简单注入器:
Simple Injector是一款易于使用的.NET和Silverlight控制库。 它仅支持基于代码的配置,对于不熟悉较大IoC / DI库的开发人员来说是一个理想的起点
http://simpleinjector.codeplex.com/
无耻的插头btw ;-)
我认为选择归结为找到一个符合您的要求和个人偏好的框架。
您的项目是否已经使用了一个库,例如已经与DI框架集成的rhino-tools? 如果确实如此,那么如果你想避免使用“大量不同的依赖注入框架”,这可能是一个好的起点。
看看这两个帖子:
上一篇: What should I consider when choosing a dependency injection framework for .NET