gpt4 book ai didi

asp.net-mvc-3 - 如何选择DI容器?

转载 作者:行者123 更新时间:2023-12-03 03:41:41 24 4
gpt4 key购买 nike

Possible Duplicate:
How do the major C# DI/IoC frameworks compare?

有这么多 DI 容器,我感觉有点迷失。我是 DI 模式的新手。

我正在看书Dependency Injection in .NET我发现 DI 在改进代码库、使其松散耦合和更易于测试方面非常有用。

我现在想为我的虚拟项目引入一个 DI 容器,但可供选择的容器太多了。

我该如何在 CaSTLe Windsor、Unity、StructureMap、Spring.NET、Autofac、Ninject、Funq、LinFu 等之间进行选择?

我想一个连贯的做法是“只选择一个”并开始使用它(因为我认为它们很容易互换,特别是在早期阶段),但我想做出更明智的决定。

最佳答案

这就像买车一样。您可能喜欢丰田,但它只是 2.5 升发动机。你可能喜欢法拉利,但它太红了。您可能喜欢马自达,但您的老板不允许您驾驶它。你可能喜欢悍马,但你的同事会 mock 你。根据您的口味混合制造商,对于某些人或在某个不同的时刻总会缺少一些东西。

我的看法是 - 首先也是最重要的,DI 通常比没有 DI 更好。选择任何东西,你都会过得更好。我会选择这样的东西:

  • 在社区中拥有良好的支持(因此您可以获得答案)
  • 背后有一个良好的支持公司(因此当代码破产时您无需重写代码)
  • 让你感觉很好(所以你不会在 children 面前说脏话,这不酷)
  • 对于该项目来说并不过分
  • 不仅仅是 DI,还提供了一个生态系统,可以减少您花在您知道自己可以完成的任务上的时间,只是不是现在 - 然后您就可以专注于重要的事情
  • 被很多人使用(所以你知道很多部分也在现实生活中进行了测试并填充了错误)
  • 还不到 5 年(比如文档说它在 Windows 98 或其他操作系统上受支持)

我的 2 美分 - http://www.springframework.net/ 。我的意思是,他们的documentation contents page大约有20页长...

或者您可能只是想查看类似问题的更多答案:

关于asp.net-mvc-3 - 如何选择DI容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com