IoC容器配置

时间:2010-04-19 02:53:26

标签: inversion-of-control ioc-container

如何组织IoC容器的配置?我知道按代码注册应该放在应用程序的最高级别,但是如果应用程序有数百个需要注册的依赖项呢?与XML配置相同。我知道您可以将XML配置拆分为多个文件,但如果有人不得不挖掘多个XML文件,那么这似乎会成为一种维护麻烦。

是否有组织依赖项注册的最佳实践?从我见过的所有视频和教程中,演示中使用的代码非常简单,可以放在一个位置。我还没有遇到过使用大量依赖项的示例应用程序。

2 个答案:

答案 0 :(得分:6)

Autofac和其他人(例如Ninject)为此目的采用了模块概念。 http://code.google.com/p/autofac/wiki/StructuringWithModules可能是您正在寻找的。

H个 尼克

答案 1 :(得分:2)

如果我们知道你是否在谈论任何特定的IoC容器,那会有所帮助。

例如,Windsor允许您定义各种XML文件(根据需要进行组织)的依赖关系,并简单地包含在配置中。结构应采用有意义的格式。拥有控制器,设施等的文件/文件夹。相关项目的层次结构。

通过更加面向代码的功能,例如Autofac,您可以轻松创建大量容器配置提供程序来为您的配置提供支持。有了Hiro,你根本不需要做太多的配置。

无论使用何种容器,它们都提供基于配置的配置注册的设施,因此这应该是您清理注册的第一站。一个很好的例子是在MVC应用程序中注册名称以“Controller”结尾的所有类。