可能的重复:
主要 C# DI/IoC 框架如何比较? https://stackoverflow.com/questions/4581791/how-do-the-major-c-sharp-di-ioc-frameworks-compare
有这么多 DI 容器,我感觉有点迷失。我是 DI 模式的新手。
我正在看书.NET 中的依赖注入 http://www.manning.com/seemann/我发现 DI 在改进代码库、使其松散耦合和更易于测试方面非常有用。
我现在想为我的虚拟项目引入一个 DI 容器,但可供选择的容器太多了。
我应该如何在 Castle Windsor、Unity、StructureMap、Spring.NET、Autofac、Ninject、Funq、LinFu 等之间进行选择?
我想一个连贯的做法是“只选择一个”并开始使用它(因为我认为它们很容易互换,特别是在早期阶段),但我想做出更明智的决定。
这就像买一辆车一样。您可能喜欢丰田,但它只是 2.5 升发动机。你可能喜欢法拉利,但它太红了。您可能喜欢马自达,但您的老板不允许您驾驶它。你可能喜欢悍马,但你的同事会嘲笑你。根据您的口味混合制造商,总会有人或在某个不同的时刻缺少一些东西。
我的看法是 - 首先也是最重要的,DI 通常比没有 DI 更好。选择任何东西,你都会过得更好。我会选择这样的东西:
- 在社区中拥有良好的支持(因此您可以获得答案)
- 背后有一个很好的支持公司(所以当代码破产时你不必重写你的代码)
- 对你感觉很好(所以你不会在孩子们面前说脏话,不酷)
- 对于该项目来说并不过分
- 不仅仅是 DI,还提供了一个生态系统,可以减少您在知道自己可以完成的任务上花费的时间,但不是现在,然后您就可以专注于重要的事情
- 被很多人使用(所以你知道很多部分也在现实生活中进行了测试并且填充了错误)
- 不是 5 年前(比如文档说它在 Windows 98 或其他操作系统上受支持)
我的 2 美分 -http://www.springframework.net/ http://www.springframework.net/。我的意思是,他们的文档内容页面 http://www.springframework.net/doc-latest/reference/html/index.html好像有20页那么长...
或者您可能只是想查看类似问题的更多答案:
- 哪些 .NET 依赖注入框架值得研究? https://stackoverflow.com/questions/21288/which-net-dependency-injection-frameworks-are-worth-looking-into
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)