我有一个中等大小的asp.net MVC应用程序,它消耗了一个处理所有存储库使用、调用域服务等的服务层。我的控制器操作非常简单 - 它们基本上调用一个服务类,获取一个响应并显示该响应。大多数组件都是基于接口的,具有一些贫民的DI。该应用程序正在增长,需要更好的测试支持,并开始呼吁IoC容器。
我阅读的所有内容(例如这个SO问题)都指出,我应该在应用程序根处配置IoC。如果我直接从控制器操作中使用存储库并需要在控制器级别进行DI,那么这对我来说是有意义的,但我没有这样做。看起来我想要将我的组合根放在我的服务层中。我一直在想,我不希望我的web.config(或另一个配置文件)在UI层中提到/看到/听到存储库、信用卡处理器等。
我这样考虑是否正确,还是我只需要克服这个问题?
我阅读的所有内容(例如这个SO问题)都指出,我应该在应用程序根处配置IoC。如果我直接从控制器操作中使用存储库并需要在控制器级别进行DI,那么这对我来说是有意义的,但我没有这样做。看起来我想要将我的组合根放在我的服务层中。我一直在想,我不希望我的web.config(或另一个配置文件)在UI层中提到/看到/听到存储库、信用卡处理器等。
我这样考虑是否正确,还是我只需要克服这个问题?