2011-12-29 57 views
0

我从Singleton的角度理解DI的好处以及减少锅炉代码。但是我发现这对维基百科太:依赖注入,无需重新编译即可实现更改

另一个好处是,它提供配置灵活性,因为一个给定服务的 替代实现,而不 重新编译代码

被用来当我使用Spring或吉斯它始终在1服务和1实施之间签订合同。我错过了一个功能还是错误地理解了这个说法?

回答

2

您通常必须重新编译包含配置的应用程序部分,但应用程序的其余部分可以保持不变。将这些部件放入单独的模块/组件中时,不需要重新编译这些部件。当您使用XML配置容器时(理论上)不需要重新编译。

如果您愿意,您甚至可以更进一步并在运行时更改行为(例如使用装饰器)。

+1

+1详情请参阅此处:http://stackoverflow.com/questions/2512316/ioc-dependency-injection-please-explain-code-versus-xml – 2011-12-30 09:41:20

0

如果决定使用给定服务的实现在配置中,只要您想要使用的替代实现已经存在,就可以纯粹在配置中更改该决定,且不进行代码更改。

这在很大程度上与Spring很相似,其中这个决定通常在应用程序启动时读取的XML配置文件中进行。