使用IoC容器时在哪里注册组件?

时间:2012-07-15 03:05:08

标签: .net dependency-injection inversion-of-control autofac

我正在尝试起床和使用Autofac,但我很难搞清楚。假设我有一个带有几个项目的[winforms]解决方案:MyProject.GUI,MyProject.Model,MyProject.DataAccess。建议放置所有builder.Register代码的位置在哪里?假设我没有使用XML(这可能是一个错误,请纠正我,如果是),它需要知道所有的程序集,以便引用每个程序中的服务和组件。我应该把它全部放在启动项目中,MyPRoject.GUI?这可行,但现在这个项目将“了解”所有其他项目。也许这并不像我乍一看那样糟糕。也许我在想这个。

我很感激任何想法。感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Module功能在每个项目中放置模块,每个模块都可以在该项目中注册依赖项。然后,您可以在启动项目中注册这些模块。

启动项目将引用所有其他项目,但不需要知道这些项目的内部。