Sobes.tech
Junior — Middle

Qual é a relação entre as camadas UseCase e Repository na arquitetura da aplicação?

sobes.tech IA

Resposta da IA

Na arquitetura da aplicação, a camada UseCase é responsável pela lógica de negócio e coordenação de ações, enquanto a camada Repository é responsável pelo acesso aos dados (por exemplo, a banco de dados ou recursos de rede).

A relação entre elas é a seguinte:

  • UseCase chama os métodos do Repository para obter ou salvar dados.
  • Repository encapsula os detalhes de armazenamento e recuperação de dados, fornecendo ao UseCase uma interface simples.

Essa separação permite alterar a implementação do acesso aos dados sem modificar a lógica de negócio e facilita os testes.

Exemplo:

class UserRepository {
    fun getUser(id: String): User { /* acesso ao BD */ }
}

class GetUserUseCase(private val userRepository: UserRepository) {
    fun execute(id: String): User {
        return userRepository.getUser(id)
    }
}