Back to questions
Junior — Middle
79
Почему важно создавать интерфейсы для удалённых источников данных в системе?
Answer from AI
sobes.tech AI
Создание интерфейсов для удалённых источников данных важно по нескольким причинам:
- Абстракция и изоляция: Интерфейс скрывает детали реализации, позволяя менять источник данных (например, с REST API на GraphQL или локальную базу) без изменения остального кода.
- Тестируемость: Через интерфейс легко подставлять мок-объекты для юнит-тестов, что упрощает проверку бизнес-логики без реального подключения к сети.
- Поддерживаемость: Чётко определённый контракт взаимодействия упрощает понимание и поддержку кода.
- Гибкость: Позволяет реализовывать разные варианты получения данных (кэш, сеть, база) с одинаковым интерфейсом.
Пример интерфейса на Kotlin для удалённого источника данных:
interface RemoteDataSource {
suspend fun fetchData(): List<DataItem>
}
class ApiRemoteDataSource(private val apiService: ApiService) : RemoteDataSource {
override suspend fun fetchData(): List<DataItem> {
return apiService.getData()
}
}