Junior — Middle
Por que é importante criar interfaces para fontes de dados remotas no sistema?
sobes.tech IA
Resposta da IA
Criar interfaces para fontes de dados remotas é importante por várias razões:
- Abstração e isolamento: A interface oculta detalhes de implementação, permitindo alterar a fonte de dados (por exemplo, de REST API para GraphQL ou base de dados local) sem alterar o restante do código.
- Testabilidade: Através da interface, é fácil substituir objetos simulados para testes unitários, o que simplifica a verificação da lógica de negócio sem conexão real à rede.
- Manutenção: Um contrato de interação claramente definido facilita a compreensão e manutenção do código.
- Flexibilidade: Permite implementar diferentes opções de obtenção de dados (cache, rede, base de dados) com uma mesma interface.
Exemplo de interface em Kotlin para uma fonte de dados remota:
interface RemoteDataSource {
suspend fun fetchData(): List<DataItem>
}
class ApiRemoteDataSource(private val apiService: ApiService) : RemoteDataSource {
override suspend fun fetchData(): List<DataItem> {
return apiService.getData()
}
}