本文是Dagger官网Assisted Injection教程的译文,英语好的同学可以直接阅读原文Assisted Injection,自测需要翻墙。
辅助注入是一种依赖注入 (DI) 模式,用于构造一个对象。它的特点是构造对象其中一些参数可能由 DI 框架提供,而其他参数必须在创建时(也称为“辅助”)由用户传入。
通常有一个factory负责组合所有参数并创建对象。
(相关: guice/AssistedInject)。
Dagger辅助注射
要使用 Dagger 的辅助注入,请使用 @AssistedInject 标签对一个对象的构造函数注解,并使用 @Assisted标签注解由你传入的辅助参数,如下所示:
class MyDataService @AssistedInject constructor(
dataFetcher: DataFetcher,
@Assist