【问题标题】:Why When use IoC in MVC Application? [duplicate]为什么在 MVC 应用程序中使用 IoC? [复制]
【发布时间】:2014-05-11 17:51:38
【问题描述】:

我有一般性问题

1) 为什么我们需要在 Asp.NET 应用程序中使用 IoC?

2) 什么时候应该使用它

3) 如果我不在我的 MVC 应用程序中使用 Structuremap,我会错过什么?

很遗憾,我的 DI 有问题,所以请简单解释一下

【问题讨论】:

标签: c# asp.net-mvc dependency-injection inversion-of-control structuremap


【解决方案1】:
  1. 你不需要它。使用它有好处,但不是必需的。
  2. 从较低层创建类型的实例时,例如创建服务的控制器或创建存储库的服务。
  3. 主要是 IoC 有助于解耦层。例如,我们正在创建一个应用程序,其中服务层是与网站位于同一文件夹中的 DLL。以后有可能将其分解为 Web 服务。因为网站使用 IoC 来创建服务对象,所以这种更改不需要对网站的代码进行任何调整。我们只需更改 IoC 配置即可。

【讨论】:

    【解决方案2】:
    1. 因为这是一个很好的做法。代码更清晰,更易于维护。
    2. 例如,我在控制器构造函数(我将存储库和服务作为参数传递)和存储库(我将 dbcontext 作为参数传递)中使用它 - 但这取决于您项目的架构。
    3. StructureMap 是 Ioc 容器之一(我个人更喜欢 NInjectFunq) 因此,如果没有它,您将错过使用 IoC 的所有优势。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2013-11-30
      • 2013-03-28
      • 2017-08-14
      相关资源
      最近更新 更多