2010-04-19 101 views
2

应如何组织IoC容器的配置?我知道通过代码进行注册应该放在应用程序的最高级别,但是如果应用程序有数百个需要注册的依赖关系呢?与XML配置相同。我知道你可以将XML配置分割成多个文件,但是如果有人需要挖掘多个XML文件,这看起来会成为维护的麻烦。IoC容器配置

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

+0

我建议避免XML配置,除非你需要在运行时改变依赖。如果你这样做,你可能想看看MEF。 – TrueWill 2010-04-19 03:14:27

+1

XML对于特定于环境的配置很有用 – 2010-04-19 03:16:07

回答

6

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

H个 尼克

+0

如果我保持更新,我会得到更好的答案:)我一直在工作时与windsor卡在一起,和Hiro一起玩弄自己...... – 2010-04-19 21:50:19

2

如果我们知道您是否在讨论任何特定的IoC容器,这将有所帮助。例如,Windsor允许您定义各种XML文件间的依赖关系(无论您想要如何组织),并且只需包含在配置中即可。该结构应该采用有意义的格式。有一个控制器,设施等文件/文件夹等一系列相关项目。

随着更多面向代码的内容,比如Autofac,您可以轻松创建一系列容器配置提供程序来为您的配置提供动力。 Hiro,你根本不需要做太多的配置。

无论使用什么容器,它们都提供基于会议配置的注册设备,因此应该成为您清理注册的第一站。一个很好的例子是在MVC应用程序中注册名称以'Controller'结尾的所有类。