Why When use IoC in MVC Application?
我有一般性的问题
1)为什么在ASP.NET应用程序中需要IOC?
2)何时使用
3)如果我的MVC应用程序中不使用结构映射,我会错过什么?
很遗憾,我对DI有问题,请简单解释
- 对于第3个问题,您是在问如果不使用IOC容器会错过什么,还是其他人不使用的结构图提供了什么?
- 当然,国际奥委会,结构图只是一个例子
- 相关:stackoverflow.com/questions/130794/what is dependency inject‌&8203;ion
你不需要它。使用它提供了优势,但它不是必需的。
从较低层创建类型实例时,例如,创建服务的控制器或创建存储库的服务。
IOC主要帮助分离层。例如,我们正在创建一个应用程序,其中服务层与网站位于同一文件夹中。有一个机会,它稍后将被分解成一个Web服务。因为网站使用IOC来创建服务对象,所以这种更改不需要对网站的代码进行任何调整。我们只需改变IOC的配置,它就可以工作了。
因为这是一种良好的做法。代码更清晰,更易于维护。
例如,我在控制器构造函数(我将存储库和服务作为参数传递)和存储库(我将dbContext作为参数传递)中使用它,但这取决于项目的体系结构。
结构图是IOC的容器之一(我个人更喜欢ninject或funq)所以如果没有它,你就会错过使用IOC的所有优势。