1

我有一般问题为什么在MVC应用程序中使用IoC?

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

2)应该使用它

3)如果我没有在我的MVC应用程序使用Structuremap什么将我错过

不幸的是我与DI问题,所以请简单

+0

对于数字3,您是否问如果您不使用IoC容器或者StructureMap提供的其他人不会使用什么? – jmcilhinney

+0

肯定是IoC,StructureMap只是一个例子 – user3166171

+0

相关:https://stackoverflow.com/questions/130794/what-is-dependency-injection – Steven

回答

1
  1. 解释你不需要它。使用它提供了优点,但它不是必需的。
  2. 当从较低层创建类型的实例时,例如一个创建服务的控制器或一个创建存储库的服务。
  3. IoC主要帮助解耦各层。例如,我们正在创建一个应用程序,其中服务层是与网站位于同一文件夹中的DLL。有可能以后它会被分解成一个Web服务。由于该网站使用IoC创建服务对象,因此该更改不需要对网站代码进行任何调整。我们可以简单地改变IoC配置,它将会正常工作。
0
  1. 因为这是一个很好的做法。代码更清晰,更易于维护。
  2. 例如,我在控制器构造函数(我将存储库和服务作为参数传递)和存储库(我传递dbcontext作为参数)中使用它 - 但它取决于您的项目的体系结构。
  3. StructureMap是Ioc容器之一(我个人更喜欢NInjectFunq) 所以没有它,你会错过使用IoC的所有优点。
相关问题