Mer*_*ham 1 static-analysis dependency-injection inversion-of-control
使用依赖项注入容器时,执行resolve时会检测到缺少的依赖项.这是在运行时.
本文介绍了部分解决方案.它有助于简化测试,调试和维护,但仍需要执行测试来验证您的行为(特别是如果您使用抽象工厂子解决方案进行运行时解析):
http://blog.ploeh.dk/2010/02/03/ServiceLocatorIsAnAntiPattern.aspx
使用依赖注入容器时,有没有办法静态地确定所有依赖项都将被解析?
托管可扩展性框架(MEF)可以执行此操作.为了使分析准确,您需要遵循一些最佳实践,但结果却很好.
要分析一组程序集,请使用命令行工具 - 请参阅http://blogs.msdn.com/b/nblumhardt/archive/2009/08/28/analyze-mef-assemblies-from-the-command-line .aspx.这可以从Visual Studio或连续集成服务器中的构建脚本运行 - http://blogs.msdn.com/b/nblumhardt/archive/2009/09/24/debug-composition-from-within-visual-studio .aspx.
你可以使用MefContrib项目的Visual MEFX直观地(在一组程序集上) - 请参阅http://xamlcoder.com/blog/2010/04/10/updated-visual-mefx/
MEF通过非常声明(配置的标准属性)和使用懒惰工作的底层组合模型(它可以构建图形而不创建任何实例)来支持此功能...需要稍微包围一下.)