내가 3 명을 가지고있다 메인 응용 프로그램 구성 요소 :단검이 개 구성 요소 체인 종속성
@Singleton
@Component(modules = {AppModule.class, UserModule.class, DatabaseModule.class})
public interface AppComponent {
Context getContext();
DatabaseHelper getDatabaseHelper();
UserManager getUserManager();
}
저장소 구성 요소 :
@DataScope
@Component(dependencies = AppComponent.class, modules = CategoryRepositoryModule.class)
public interface CategoryRepositoryComponent {
CategoryRepository getCategoryRepository();
}
그리고 화면 구성 요소 :
가@MenuScope
@Component(dependencies = CategoryRepositoryComponent.class, modules = {MenuModule.class, DrawerModule.class})
interface MenuComponent {
void inject(MenuActivity activity);
}
문제가 있다는 것입니다 내 MenuComponent는 AppComponent를 제공하는 종속성을 볼 수 없습니다. 그러나 MenuComponent는 CategoryRepositoryComponent에 의존하고 CategoryRepositoryComponent는 AppComponent에 의존하므로, MenuComponent는 AppComponent (MenuComponent -> CategoryRepositoryComponent -> AppComponent)를보아야한다.
것은 내가 게터가
@DataScope
@Component(dependencies = AppComponent.class, modules = CategoryRepositoryModule.class)
public interface CategoryRepositoryComponent {
CategoryRepository getCategoryRepository();
DatabaseHelper getDatabaseHelper();
UserManager getUserManager();
}
을 CategoryRepositoryComponent에 추가됩니다 그러나 중복, 잘못된 그게 전부 보이는 경우. 이 문제를 깨끗하고 정확한 방법으로 해결하는 방법을 알고 계십니까?
고마워, 닉.
이 정확하면 여기에서 하위 구성 요소를 사용하는 샘플 프로젝트를 찾을 수 있습니다. http://github.com/mmirhoseini/fyber_mobile_offers –