Pet*_*rey 7

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

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


Sta*_*erc 5

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

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