본문

170707(금) - android-architecture-todo-mvp-dagger

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

공유

댓글