我和另一位开发人员最近分叉并接管了一个废弃的开源项目。我也一直在阅读Misko Hevery的文章和观看视频:
http://misko.hevery.com/code-reviewers-guide/
https://www.youtube.com/watch?v=wEhu57pih5w&list=PLD0011D00849E1B79
所以当我通过项目代码阅读时,我注意到很多无参数构造函数。并且通过静态调用分配字段,而不是通过构造函数参数分配。当我看到这个时,我想重构构造函数以明确声明它们的依赖。
这很容易做到。
然而,问题是存在需要初始化的字段的父类(一些抽象)。那么为父类做DI的最佳方法是什么?
我的意思是,子类可以在其构造函数中询问参数(它实际上并不需要)...只是通过super(arg1,arg2)将它传递给父类;
但这对我来说似乎很奇怪:孩子要求的东西只是将它传递给父母。这真的是它应该完成的方式吗?
强制孩子实现的抽象构造函数(带有必要的参数)怎么样?