可以说我有一个模块,我只想导出一个A
的实例。然而,这个A
要求在构造函数中传递B
和C
的实例。因此,我们将宣布他们以及在模块中:匕首2:避免导出私有依赖关系
public class SampleModule {
@Provides
@Singleton
A provideA(B b, C c){
return new A(b, c);
}
@Provides
@Singleton
B provideB(){
return new B();
}
@Provides
@Singleton
C provideC(){
return new C();
}
}
这工作,但现在B
和C
也可在代码的其他地方。我想让他们保持私密,强制客户端只能访问A
。
有没有办法做到这一点?
http://stackoverflow.com/questions/39219257/can-a-dagger-2-dependency-be-non-injectable –
的可能的复制[匕首2依赖性可以被非注射?]( http://stackoverflow.com/questions/39219257/can-a-dagger-2-dependency-be-non-injectable) –