在代码中执行依赖注入配置有什么问题?

All*_*nde 6 dependency-injection

XML似乎是当时的语言,但它不是类型安全的(没有外部工具来检测问题),你最终在XML中做逻辑.为什么不用与项目其他部分相同的语言来做.如果它是java,你可以构建一个配置jar并将它放在类路径上.

我必须遗漏一些深刻的东西.

Ree*_*sey 9

在代码中配置DI的主要缺点是强制重新编译以更改配置.通过使用外部文件,重新配置成为运行时更改.XML文件还提供了代码和配置之间的额外分离,这是许多人非常重视的.

这可以使测试,可维护性,远程系统上的更新等更容易.但是,对于许多语言,您可以使用动态加载有问题的代码并避免一些缺点,在这种情况下优势会减少.

  • 我发现了一个警察的争论.99%的时间,如果你想改变你的DI配置,这是一个足够深入的变化,你无论如何都需要重新编译.只要你单独打包你的配置类,编辑一个xml文件和用config-production替换config-test就没那么区别了.另一方面,好处是处理一种实际可读的语言,而且我们拥有大量高度发展的工具可供使用. (8认同)
  • 我认为这根本不是一个警察.我已经构建了相当多的企业级系统,并且具有单独的配置文件可以节省许多麻烦,特别是当您需要在不同环境(即DEV,QA,UAT,PROD)中实现时.如果您正在为自己或小型安装构建应用程序,那么您的观点可能也是如此.但对于商业应用程序,使用XML配置至关重要. (2认同)