abstraction for scalability purpose
isfaaghyth opened this issue · 0 comments
isfaaghyth commented
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