Slide 32
Slide 32 text
val appModule = module {
// Presentation Layers
viewModel { TasksViewModel(get(),get()) }
factory { (view: TasksView) -> TasksPresenter(get(),view) }
// Repository
single {
DefaultTasksRepository(get(named("RemoteDS")),get(named("LocalDS")),get())
}
// Data Sources
single(named("RemoteDS")) { TasksRemoteDataSource() }
single(named("LocalDS")) { TasksLocalDataSource(get(),get()) }
// Room
single { Room.databaseBuilder(...).build() }
single { get().taskDao() }
}