依赖注入:依赖对象应该作为构造函数args传递吗?

时间:2011-01-16 10:27:34

标签: java frameworks dependency-injection

在这里的视频 http://code.google.com/p/google-guice/

它解释了它应该。

而OscarRyz则反过来说 How to explain dependency injection to a 5-year-old?

所以我现在很困惑。

2 个答案:

答案 0 :(得分:7)

我个人更喜欢使用这样的事实:构造函数可以自然地定义所有必填字段,并且那些曾经设置的字段无法更改。您可以对setter执行相同的操作,但是没有直接的语言支持。

虽然我更喜欢将构造函数用于强制字段和最终字段,但我不认为这是依赖注入特有的。

答案 1 :(得分:5)

没有简单的答案。这取决于实际情况。在Martin Fowler的文章中查看“构造函数与Setter注入”部分:

http://www.martinfowler.com/articles/injection.html