什么是dependency injection上下文中的组合根
我正在探索dependency injection,术语组合根被用在所有地方。 那是什么?
组合根是应用程序中的单一位置,应用程序中使用dependency injection容器为应用程序组成对象图组合(尽pipe如何完成这个操作是无关紧要的,它可以使用容器,也可以使用纯手动完成DI )。
应该只有一个地方发生这种情况,你的容器不需要在组合根之外使用。
引用下面的一个答案:
实际上,这意味着你应该在应用程序的根目录下configuration容器。
- 在桌面应用程序中,这将是在主方法(或非常接近它)
- 在ASP.NET(包括MVC)应用程序中,这将在Global.asax中
- 在WCF中,这将在一个ServiceHostFactory
- 等等
这里有一个很好的答案,这更多地解释了这一点。
另请参阅此答案 。