rizmaulana/kotlin-mvvm-covid19

abstraction for scalability purpose

isfaaghyth opened this issue · 0 comments

interface Repository {
   fun getData()
}

class DataRepository: Repository {
   override fun getData() { /* ... */ }
}

DataModule.kt

@Singleton
@Provides
fun provideDataRepository(): Repository = DataRepository()

dimana pun, cukup deklarasikan dan pake repositorynya seperti ini:

MainViewModel.kt

@Inject lateinit var repository: Repository