間の依存関係、私はいくつかのスコープとAndroidのプロジェクトに取り組んでいます:ダガー2 - 私はこのような何かを組織してサブコンポーネント
@Scope
public @interface @ScopeA {}
public class ElementA {
@Inject
DependencyAa dependencyAa;
}
@Module
public class ElementAModule {
private ElementA elementA;
public ElementAModule(ElementA elementA){
this.elementA = elementA;
}
@ScopeA
@Provides
public ElementA providesElementA(){
return this.elementA;
}
}
public class ElementB {
@Inject
DependencyB dependencyB;
}
@Module
public class ElementBModule {
private ElementB elementB;
public ElementBModule(ElementB elementB){
this.elementB = elementB;
}
@ScopeA
@Provides
public ElementB providesElementB(){
return this.elementB;
}
}
ロングストーリーが短い、私がきたいくつかの要素(A、B)を作りましたそれぞれに依存性(A、B 、それぞれ)が注入されています。だから私の質問は、この種の依存性のための最良のアプローチは何ですか?
すべての依存関係の一般的なモジュールを含む各要素の1つのサブコンポーネント。
@Module
public class DependenciesModule {
@ScopeA
@Provides
public DependencyAa providesDependencyAa(){
// return DependencyAa
}
@ScopeA
@Provides
public DependencyB providesDependencyAb(){
// return DependencyB
}
}
@ScopeA
@Subcomponent(modules = { ElementAModule.class , DependenciesModule.class })
public interface ElementASubcomponent {
void inject(ElementA elementA);
}
@ScopeA
@Subcomponent(modules = {ElementBModule.class , DependenciesModule.class})
public interface ElementBSubcomponent {
void inject(ElementB elementB);
}
1つの一般的な要素サブコンポーネントは、一般的な依存関係モジュールに依存します。これはカスタムスコープでどのように機能しますか?対応する依存関係が
@Module
public class ElementAModule {
private ElementA elementA;
public ElementAModule(ElementA elementA){
this.elementA = elementA;
}
@ScopeA
@Provides
public ElementA providesElementA(){
return this.elementA;
}
@ScopeA
@Provides
public DependencyAa providesDependencyAa(){
// return DependencyAa
}
}
を設けただけでElementXModuleにdependends各エレメントの
@ScopeA
@Subcomponent(modules = {ElementAModule.class ,
ElementBModule.class , DependenciesModule.class}){
void inject(ElementA elementA);
void inject(ElementB elementB);
}
一つのサブコンポーネントは、また、任意の他の提案は歓迎以上ですか!
ありがとうございます
ありがとう、今私は理解しています –