我一直在阅读依赖注入,我理解在
XML中指定依赖关系的吸引力,就像许多框架中所做的那样.我在一个大型系统上工作,我们通常会调用工厂来获取具体对象,并且我很难理解为什么手动注入依赖关系,如
in this Wikipedia article所示,据说更好.
在我看来,调用工厂更好,因为:
>调用代码不需要知道或关心特定的依赖关系存在.
>如果向被调用者添加新依赖项,则无需更改调用代码.
>调用代码不需要任何专用于选择要注入的具体实例的逻辑.
在我看来,当调用代码必须决定依赖的具体类时,依赖注入只能提供好处.几乎像“这是我的数据,现在处理它.”
我错过了什么吗?
更新:
为了澄清,我们现有的代码主要是直接调用工厂.因此,要获得一个新的Ball对象,您会看到如下代码:
Ball myBall = BallFactory.getobject();
实现了许多这些工厂以允许运行时注册新的具体对象类型 – 插件框架.
因此,在查看一些初始注释之后,看起来像DI我的调用代码通常不会传递给Ball对象,而是BallFactory.我想这样做的好处是该类可能更通用,因为它甚至没有耦合到它使用的工厂.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。