사이의 종속성 그래서 나는이 같은 조직 : 는 단검이 내가 여러 범위로 안드로이드 프로젝트에서 일하고 있어요 하위
@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 및 각각)을 갖습니다. 그래서 내 질문은, 이런 종류의 의존성을위한 최선의 접근 방법은 무엇입니까?모든 종속성에 대한 일반 모듈을 포함하는 각 요소에 대한 하나의 하위 구성 요소.
@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);
}
하나의 일반 요소 하위 구성 요소는 일반 종속성 모듈에 따라 다릅니다. 이 기능은 사용자 지정 범위에서 어떻게 작동합니까? 해당 의존성
@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);
}
부성분 하나? 모듈을 구성하는 방법과 범위에서 작동하는 방법 : 사전
감사합니다. 이제 알겠습니다. –