构造函数注入抽象或父类

时间:2014-10-01 22:29:17

标签: java dependency-injection abstract-class parent constructor-injection

我和另一位开发人员最近分叉并接管了一个废弃的开源项目。我也一直在阅读Misko Hevery的文章和观看视频:

http://misko.hevery.com/code-reviewers-guide/

https://www.youtube.com/watch?v=wEhu57pih5w&list=PLD0011D00849E1B79

所以当我通过项目代码阅读时,我注意到很多无参数构造函数。并且通过静态调用分配字段,而不是通过构造函数参数分配。当我看到这个时,我想重构构造函数以明确声明它们的依赖。

这很容易做到。

然而,问题是存在需要初始化的字段的父类(一些抽象)。那么为父类做DI的最佳方法是什么?

我的意思是,子类可以在其构造函数中询问参数(它实际上并不需要)...只是通过super(arg1,arg2)将它传递给父类;

但这对我来说似乎很奇怪:孩子要求的东西只是将它传递给父母。这真的是它应该完成的方式吗?

强制孩子实现的抽象构造函数(带有必要的参数)怎么样?

0 个答案:

没有答案