xml - IoC/依赖注入(inject) - 请解释代码与 XML

标签 xml dependency-injection inversion-of-control

我基本上了解 IoC 框架的工作原理,但我不太明白基于代码的配置应该如何工作。通过 XML,我了解如何将新程序集添加到已部署的应用程序,然后更改 XML 中的配置以包含它。如果应用程序已经部署(即以某种形式编译),那么如何在不重新编译的情况下更改代码?或者这就是人们所做的,只需更改代码中的配置并重新编译?

最佳答案

热交换依赖项并不是使用 DI 容器的唯一目标。

依赖注入(inject) (DI) 是帮助我们开发松耦合代码的原则。松散耦合仅意味着我们可以彼此独立地改变消费者和服务。 我们如何在这个级别上没有解决这个问题。

DI 容器 是有助于一起使用线路依赖项的框架。它们或多或少只是帮助我们应用 DI 模式的实用程序库。再一次,如何我们配置容器与我们如何使用这些依赖项是垂直的。

XML 配置 允许我们更改容器配置无需重新编译。代码作为配置没有。

但是,在不重新编译的情况下交换依赖关系通常只与所有松耦合代码的小子集相关。对于其余部分,基于约定的方法更为有效,因为它往往不那么脆弱。参见 here获取更多信息。

关于xml - IoC/依赖注入(inject) - 请解释代码与 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2512316/

相关文章:

Android,XML 中的复选框监听器?

java - Google Guice 绑定(bind)不适用于 Integer 和 Long

class - IOC 使用 AutoFac 进行内部类

c# - 需要有关在 .NET 4 中解析 XML 的信息

xml - Ejabberd 模块接受/转发修改后的 xml 节

c# - 为什么语言不在核心集成依赖注入(inject)?

asp.net-mvc - 洋葱架构我们应该将领域模型注入(inject)表示层吗?

java - 如何覆盖另一个实例的注入(inject)

html - 有人可以解释我的 XML 解析器跳过这些 HTML 元素的原因吗?

spring - @Autowired 验证器内的 DAO