c# /。NET依赖注入框架值得一看? 你对它们的复杂性和速度有什么看法?
当前回答
我花了大半天的时间苦苦挣扎,只为得到最简单的泉水。NET实例工作。永远不知道如何让它从XML文件中找到我的程序集。另一方面,在大约2小时内,我能够让Ninject工作,包括测试与NUnit和MSTest的集成。
其他回答
我可以推荐Ninject。它非常快速且易于使用,但仅当您不需要XML配置时,否则您应该使用Windsor。
c#的伟大之处在于,它遵循了多年来Java开发人员所走过的道路。所以,我的建议是,一般来说,在寻找这种性质的工具时,寻找可靠的Java答案,看看是否存在。net的改编。
因此,当涉及到DI时(有很多选择,这真的是一个品味问题)是Spring.NET。此外,研究项目背后的人总是明智的。我建议使用SourceGear产品进行源代码控制(在使用它们之外),因为我尊重Eric Sink。我看过马克·波拉克的演讲,我能说什么呢,他就是懂。
最后,有很多依赖注入框架,您最好的选择是使用其中的一些做一些示例项目,并做出明智的选择。
好运!
我使用Simple Injector:
Simple Injector是一个简单、灵活、快速的依赖注入库,它使用最佳实践指导您的解决方案走向成功。
Autofac。https://github.com/autofac/Autofac它真的很快,很好。这里有一个比较链接(在Ninject修复内存泄漏问题后)。
http://www.codinginstinct.com/2008/05/ioc-container-benchmark-rerevisted.html
我用过Spring。NET,并取得了巨大的成功。我从未注意到它有任何实质性的开销,尽管我们使用它的项目本身相当繁重。只需要花一点时间阅读文档就可以设置它。
推荐文章
- 实体框架核心:在上一个操作完成之前,在此上下文中开始的第二个操作
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- 如何使用JSON确保字符串是有效的JSON。网
- AppSettings从.config文件中获取值
- 通过HttpClient向REST API发布一个空体
- 如何检查IEnumerable是否为空或空?
- 自动化invokerrequired代码模式
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 在c#中,什么是单子?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- c#线程安全快速(est)计数器
- 如何将此foreach代码转换为Parallel.ForEach?
- 如何在iis7应用程序池中设置。net Framework 4.5版本