匕首注入的物体会产生其他匕首注入的物体n级深度和宽度

时间:2017-06-01 23:51:41

标签: java android dependency-injection dagger-2 dagger

如何处理匕首注入像这样设置的应用程序:

Root that creates:
|- LevelOneA
|  |- LevelTwoAA
|  |- LevelTwoAB
|  L  ....
|
|- LevelOneB
|  |- LevelTwoBA
|  |- LevelTwoBB
|  L  ....
|
L  ...

每个类都有自己的依赖关系,并创建具有自己的依赖关系的对象,这些依赖关系反过来创建具有自己的依赖关系的对象,无限制等等。本质上,每个级别的每个对象都需要对依赖关系图有所了解/注射器使他们可以注射自己并确保他们的孩子可以注射。

最基本的解决方案似乎是通过每个对象的构造函数传入注入器(这样每个对象自身注入,并将注入器传递给它的子进程注入自己)。但是,这似乎不太合适?

此外,这个注入器知道如何注入所有内容,因此在测试和创建模拟时,即使我正在测试一个不相关的对象,我也必须模拟出LevelTenXYZ的所有依赖项。

0 个答案:

没有答案