Junior — Middle
Pode explicar o conceito e o propósito do padrão repositório no desenvolvimento de software?
sobes.tech IA
Resposta da IA
O padrão repositório é uma camada de abstração entre a lógica de negócio da aplicação e a fonte de dados (por exemplo, um banco de dados). Ele encapsula a lógica de acesso aos dados, fornecendo uma interface conveniente para obter, adicionar, atualizar e remover objetos.
Propósito do padrão:
- Esconder detalhes de trabalho com o banco de dados ou outros armazenamentos.
- Fornecer uma interface unificada para trabalhar com os dados.
- Simplificar os testes, permitindo substituir o repositório por mocks.
Exemplo em Kotlin para Android:
interface UserRepository {
fun getUserById(id: Int): User?
fun addUser(user: User)
}
class UserRepositoryImpl(private val userDao: UserDao) : UserRepository {
override fun getUserById(id: Int): User? = userDao.findById(id)
override fun addUser(user: User) = userDao.insert(user)
}
Aqui, UserRepository oculta os detalhes de trabalho com UserDao (por exemplo, Room), fornecendo uma interface simples para o restante da aplicação.