# Repository Pattern (Laravel) > 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 - [Perguntas de entrevista: Laravel](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista.md) ## 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. ## Mais 17 perguntas disponiveis - Como o Repository Pattern aplica o princípio SOLID de Dependency Inversion? - Qual é a principal vantagem do Repository Pattern para os testes? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista Laravel - [Fundamentos de PHP](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/php-basics.md): 25 perguntas, Junior - [Fundamentos de POO em PHP](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/php-oop-essentials.md): 20 perguntas, Junior - [Composer & Autoloading](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/composer-autoloading.md): 18 perguntas, Junior - [Fundamentos do Laravel](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-fundamentals.md): 20 perguntas, Junior - [Routing do Laravel](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-routing.md): 20 perguntas, Junior - [Blade Templates](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/blade-templates.md): 18 perguntas, Junior - [Request & Response](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/request-response.md): 20 perguntas, Junior - [Fundamentos do Eloquent ORM](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/eloquent-orm-basics.md): 22 perguntas, Junior - [Eloquent Relationships](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/eloquent-relationships.md): 25 perguntas, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/database-migrations.md): 20 perguntas, Mid-Level - [Validação e formulários](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/validation-forms.md): 22 perguntas, Mid-Level - [Autenticação](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/authentication.md): 20 perguntas, Mid-Level - [Autorização e Policies](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/authorization-policies.md): 18 perguntas, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/api-resources-authentication.md): 26 perguntas, Mid-Level - [Middleware](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/middleware.md): 18 perguntas, Mid-Level - [Service Container & DI](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/service-container-di.md): 20 perguntas, Mid-Level - [Queues & Jobs](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/queues-jobs.md): 22 perguntas, Mid-Level - [Events & Listeners](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/events-listeners.md): 18 perguntas, Mid-Level - [Notificações & Mail](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/notifications-mail.md): 20 perguntas, Mid-Level - [File Storage](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/file-storage.md): 18 perguntas, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/testing-phpunit.md): 24 perguntas, Mid-Level - [Caching](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/caching.md): 18 perguntas, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/livewire-inertia.md): 20 perguntas, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/eloquent-advanced.md): 24 perguntas, Senior - [Laravel Packages](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-packages.md): 20 perguntas, Senior - [Performance Optimization](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Security Best Practices](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/security-best-practices.md): 22 perguntas, Senior - [Laravel Octane](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-octane.md): 18 perguntas, Senior - [Laravel Distributed Systems](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/laravel-distributed-systems.md): 22 perguntas, Senior - [Observability & Monitoring](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/observability-monitoring.md): 20 perguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/deployment-devops.md): 20 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/laravel/perguntas-entrevista/repository-pattern