Laravel

Repository Pattern

Repository pattern (trade-offs, casos de uso), contracts, service layer, princípios SOLID, dependency inversion, testabilidade, quando NÃO usar

20 perguntas de entrevista·
Senior
1

O que é o Repository Pattern no Laravel?

Resposta

O Repository Pattern é um design pattern que adiciona uma camada de abstração entre a lógica de negócio e a camada de dados. Ele encapsula a lógica de acesso a dados em classes dedicadas (repositories), permitindo separar responsabilidades e tornar o código mais testável. Diferente de usar Eloquent diretamente nos controllers, o repository centraliza as consultas complexas e facilita mudar a fonte de dados sem impactar o resto da aplicação.

2

Em qual cenário o Repository Pattern oferece mais valor?

Resposta

O Repository Pattern é particularmente útil em aplicações complexas com consultas sofisticadas e múltiplas fontes de dados. Ele se destaca em projetos corporativos onde a lógica de acesso a dados é complexa, reutilizada em vários lugares ou propensa a mudanças (por exemplo, migrar de MySQL para MongoDB). Para CRUDs simples ou aplicações pequenas, pode constituir uma sobreengenharia desnecessária.

3

Qual é o principal trade-off do Repository Pattern?

Resposta

O principal trade-off é o aumento da complexidade do código e do número de arquivos a manter. Cada repository adiciona pelo menos 2 arquivos (interface + implementação), o que pode rapidamente se tornar verboso em aplicações simples. O Laravel Eloquent já é uma abstração poderosa que resolve 80% dos casos de uso, e adicionar uma camada extra pode desacelerar o desenvolvimento sem benefício real se as consultas permanecerem simples.

4

Como o Repository Pattern aplica o princípio SOLID de Dependency Inversion?

5

Qual é a principal vantagem do Repository Pattern para os testes?

+17 perguntas de entrevista

Domine Laravel para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis