Skip to content

Instantly share code, notes, and snippets.

@maomaobug
Last active May 23, 2017 07:42
Show Gist options
  • Save maomaobug/3a69a09688f182d8db0471f75a667bc0 to your computer and use it in GitHub Desktop.
Save maomaobug/3a69a09688f182d8db0471f75a667bc0 to your computer and use it in GitHub Desktop.
@ActivityScope
// 使用@Subcomponent 而不是 component
@Subcomponent(modules = {LoginRegisterActivityModule.class})
public interface LoginregisterComponent {
// 这里是关键之处,SubComponent.Builder 由外部提供实现,
// 这个过程就是引入外部依赖的过程,至于引入了什么外部依赖,
// 我们完全不用关心,这样我们在 LoginRegisterActivityMoule
// 解析依赖时就从这个外部外部实现中搜索。这也就是为什么 SubComponent
// 优于 Module dependency 的地方
@Subcomponent.Builder
interface Builder {
Builder loginRegisterActivityModule(LoginRegisterActivityModule
loginRegisterActivityModule);
LoginregisterComponent build();
}
void inject(LoginRegisterActivity activity);
void inject(RegisterFragment registerFragment);
void inject(LoginFragment loginFragment);
void inject(ResetPasswordFragment resetPasswordFragment);
// 这里也可以定义 getXXX 方法
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment