# Repository Pattern (Laravel) > Repository pattern (trade-offs, casos de uso), contracts, service layer, principios SOLID, dependency inversion, testabilidad, cuándo NO usarlo - 20 preguntas de entrevista - Senior - [Preguntas de entrevista: Laravel](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista.md) ## 1. ¿Qué es el Repository Pattern en Laravel? **Respuesta** El Repository Pattern es un design pattern que añade una capa de abstracción entre la lógica de negocio y la capa de datos. Encapsula la lógica de acceso a datos en clases dedicadas (repositories), permitiendo separar responsabilidades y hacer el código más testeable. A diferencia de usar Eloquent directamente en los controllers, el repository centraliza las consultas complejas y facilita cambiar la fuente de datos sin impactar el resto de la aplicación. ## 2. ¿En qué escenario el Repository Pattern aporta más valor? **Respuesta** El Repository Pattern es especialmente útil en aplicaciones complejas con consultas sofisticadas y múltiples fuentes de datos. Brilla en proyectos empresariales donde la lógica de acceso a datos es compleja, se reutiliza en varios lugares o es susceptible de cambiar (por ejemplo, migrar de MySQL a MongoDB). Para CRUD simples o aplicaciones pequeñas, puede constituir una sobreingeniería innecesaria. ## 3. ¿Cuál es el principal trade-off del Repository Pattern? **Respuesta** El principal trade-off es el aumento de la complejidad del código y del número de archivos a mantener. Cada repository agrega al menos 2 archivos (interface + implementación), lo que puede volverse rápidamente verboso en aplicaciones simples. Laravel Eloquent ya es una abstracción potente que resuelve el 80% de los casos de uso, y agregar una capa adicional puede ralentizar el desarrollo sin un beneficio real si las consultas siguen siendo simples. ## 17 preguntas más disponibles - ¿Cómo aplica el Repository Pattern el principio SOLID de Dependency Inversion? - ¿Cuál es la principal ventaja del Repository Pattern para las pruebas? Regístrate gratis: https://sharpskill.dev/es/login ## Otros temas de entrevista Laravel - [Fundamentos de PHP](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/php-basics.md): 25 preguntas, Junior - [Fundamentos de POO en PHP](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/php-oop-essentials.md): 20 preguntas, Junior - [Composer & Autoloading](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/composer-autoloading.md): 18 preguntas, Junior - [Fundamentos de Laravel](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/laravel-fundamentals.md): 20 preguntas, Junior - [Routing de Laravel](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/laravel-routing.md): 20 preguntas, Junior - [Blade Templates](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/blade-templates.md): 18 preguntas, Junior - [Request & Response](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/request-response.md): 20 preguntas, Junior - [Fundamentos de Eloquent ORM](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/eloquent-orm-basics.md): 22 preguntas, Junior - [Eloquent Relationships](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/eloquent-relationships.md): 25 preguntas, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/database-migrations.md): 20 preguntas, Mid-Level - [Validación y formularios](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/validation-forms.md): 22 preguntas, Mid-Level - [Autenticación](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/authentication.md): 20 preguntas, Mid-Level - [Autorización y Policies](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/authorization-policies.md): 18 preguntas, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/api-resources-authentication.md): 26 preguntas, Mid-Level - [Middleware](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/middleware.md): 18 preguntas, Mid-Level - [Service Container & DI](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/service-container-di.md): 20 preguntas, Mid-Level - [Queues & Jobs](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/queues-jobs.md): 22 preguntas, Mid-Level - [Events & Listeners](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/events-listeners.md): 18 preguntas, Mid-Level - [Notificaciones & Mail](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/notifications-mail.md): 20 preguntas, Mid-Level - [File Storage](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/file-storage.md): 18 preguntas, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/testing-phpunit.md): 24 preguntas, Mid-Level - [Caching](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/caching.md): 18 preguntas, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/livewire-inertia.md): 20 preguntas, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/eloquent-advanced.md): 24 preguntas, Senior - [Laravel Packages](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/laravel-packages.md): 20 preguntas, Senior - [Performance Optimization](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/performance-optimization.md): 22 preguntas, Senior - [Security Best Practices](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/security-best-practices.md): 22 preguntas, Senior - [Laravel Octane](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/laravel-octane.md): 18 preguntas, Senior - [Laravel Distributed Systems](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/laravel-distributed-systems.md): 22 preguntas, Senior - [Observability & Monitoring](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/observability-monitoring.md): 20 preguntas, Senior - [Deployment & DevOps](https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/deployment-devops.md): 20 preguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/es/technologies/laravel/preguntas-entrevista/repository-pattern