在这里的视频 http://code.google.com/p/google-guice/
它解释了它应该。
而OscarRyz则反过来说 How to explain dependency injection to a 5-year-old?
所以我现在很困惑。
答案 0 :(得分:7)
我个人更喜欢使用这样的事实:构造函数可以自然地定义所有必填字段,并且那些曾经设置的字段无法更改。您可以对setter执行相同的操作,但是没有直接的语言支持。
虽然我更喜欢将构造函数用于强制字段和最终字段,但我不认为这是依赖注入特有的。
答案 1 :(得分:5)
没有简单的答案。这取决于实际情况。在Martin Fowler的文章中查看“构造函数与Setter注入”部分: