Ответ
Репозиторий в Android-разработке (чаще всего подразумевается паттерн Repository) служит для абстракции источника данных (API, БД, кеша) от остального кода.
Основные преимущества:
- Единая точка доступа к данным
- Сокрытие сложности работы с разными источниками
- Упрощение тестирования (можно подменить реализацию)
- Централизованное управление кешированием
Пример:
class UserRepository(
private val api: UserApi,
private val db: UserDatabase
) {
suspend fun getUsers(): List<User> {
val cached = db.getUsers()
return if (cached.isEmpty()) {
val fresh = api.getUsers()
db.insertUsers(fresh)
fresh
} else cached
}
}