본문
170707(금) - android-architecture-todo-mvp-dagger
Mobile/DI 2017. 7. 7. 14:21
android-architecture-todo-mvp-dagger
/**
* This is a Dagger module. We use this to pass in the View dependency to the
* {@link TasksPresenter}.
*/
@Module
public class TasksPresenterModule {
private final TasksContract.View mView;
public TasksPresenterModule(TasksContract.View view) {
mView = view;
}
@Provides
TasksContract.View provideTasksContractView() {
return mView;
}
}@Inject TasksPresenter mTasksPresenter;// Create the presenter
DaggerTasksComponent.builder()
.tasksRepositoryComponent(((ToDoApplication) getApplication()).getTasksRepositoryComponent())
.tasksPresenterModule(new TasksPresenterModule(tasksFragment)).build()
.inject(this);단지 Contract.View 가 presenter를 가지고 있다는것만으로도 dagger2가 알아서 TaskPresenter를 찾아 Injection 해준다.
편리하긴 하나, 이런식으로 쓰는것이 유지보수하는데에 도움이 될 지는 모르겠다.
(Contract.View의 BaseView가 BaseView<Presenter> 여서 그런건지 아닌지는 알아봐야 할 것 같다.)
'Mobile > DI' 카테고리의 다른 글
| 170713(목) - Kotlin & Dagger2 crash (0) | 2017.07.13 |
|---|---|
| 170712(수) - Dependency Injection with Dagger2 (0) | 2017.07.12 |
| 170609(금) - DI with Dagger2 (0) | 2017.06.09 |
| 170609(금) - DI with Dagger2 (0) | 2017.06.09 |
| 170609 (금) - DI with Dagger2 (0) | 2017.06.09 |
댓글