依赖注入框架

时间:2014-07-16 03:37:18

标签: .net dependency-injection

我需要在我的Web App中实现DI。这不仅仅是Web应用程序,而是支持业务层类(单独项目)和数据访问层类(单独项目)。什么是最好的工具,我知道MVC内置了一些内容,但我的业务逻辑层和数据访问层没有使用MVC。

2 个答案:

答案 0 :(得分:2)

首先,我建议您阅读有关依赖注入的更多信息。它不是一个框架(尽管有依赖注入框架),它是一种设计模式。您可以在没有任何框架的情况下实现DI。该框架只为您提供了更多功能。

其次,MVC没有提供DI框架,尽管它确实有将框架引入MVC的钩子。

第三,依赖注入框架在应用程序级别配置(在您的案例中为MVC)。您的业​​务和数据层是单独的项目并不重要,它们仍然被您的应用程序层使用,并且应用程序层必须具有DI框架,因为所有对象都是从那里创建的(这称为组成根)。

您可以使用任何您想要的DI框架。没有“最好的工具”。他们都做同样的事情,他们只是以不同的方式做,所以它归结为个人偏好。

答案 1 :(得分:1)

我完全同意Erik Funkenbusch的观点。 DI不是一种工具,你应该从应用模式开始,而不是使用工具。如果您在未应用模式的情况下开始使用工具,那么您将in worse place than you started

也就是说,对于.NET,有许多DI容器,但前6位是:

  1. Autofac
  2. Ninject
  3. Castle Windsor
  4. Unity
  5. StructureMap
  6. Simple Injector
  7. 但是你可以在this list上看到更多内容。