# Repository Pattern (Laravel) > Repository pattern (trade-off, casi d'uso), contracts, service layer, principi SOLID, dependency inversion, testabilità, quando NON usarlo - 20 domande da colloquio - Senior - [Domande da colloquio: Laravel](https://sharpskill.dev/it/technologies/laravel/domande-colloquio.md) ## 1. Cos'è il Repository Pattern in Laravel? **Risposta** Il Repository Pattern è un design pattern che aggiunge uno strato di astrazione tra la logica di business e il livello dati. Incapsula la logica di accesso ai dati in classi dedicate (repositories), consentendo la separazione delle responsabilità e rendendo il codice più testabile. A differenza dell'uso diretto di Eloquent nei controller, il repository centralizza le query complesse e facilita il cambio della fonte dati senza impattare il resto dell'applicazione. ## 2. In quale scenario il Repository Pattern offre il maggior valore? **Risposta** Il Repository Pattern è particolarmente utile nelle applicazioni complesse con query sofisticate e molteplici fonti di dati. Brilla nei progetti enterprise in cui la logica di accesso ai dati è complessa, riutilizzata in più punti o soggetta a cambiamenti (ad esempio, la migrazione da MySQL a MongoDB). Per CRUD semplici o piccole applicazioni, può costituire un over-engineering inutile. ## 3. Qual è il principale trade-off del Repository Pattern? **Risposta** Il principale trade-off è l'aumento della complessità del codice e del numero di file da mantenere. Ogni repository aggiunge almeno 2 file (interface + implementazione), il che può rapidamente diventare prolisso nelle applicazioni semplici. Laravel Eloquent è già un'astrazione potente che risolve l'80% dei casi d'uso, e aggiungere un livello aggiuntivo può rallentare lo sviluppo senza un reale beneficio se le query rimangono semplici. ## Altre 17 domande disponibili - Come applica il Repository Pattern il principio SOLID di Dependency Inversion? - Qual è il principale vantaggio del Repository Pattern per i test? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Laravel - [Fondamenti di PHP](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/php-basics.md): 25 domande, Junior - [Fondamenti di OOP in PHP](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/php-oop-essentials.md): 20 domande, Junior - [Composer & Autoloading](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/composer-autoloading.md): 18 domande, Junior - [Fondamenti di Laravel](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/laravel-fundamentals.md): 20 domande, Junior - [Routing di Laravel](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/laravel-routing.md): 20 domande, Junior - [Blade Templates](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/blade-templates.md): 18 domande, Junior - [Request & Response](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/request-response.md): 20 domande, Junior - [Fondamenti di Eloquent ORM](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/eloquent-orm-basics.md): 22 domande, Junior - [Eloquent Relationships](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/eloquent-relationships.md): 25 domande, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/database-migrations.md): 20 domande, Mid-Level - [Validazione e moduli](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/validation-forms.md): 22 domande, Mid-Level - [Autenticazione](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/authentication.md): 20 domande, Mid-Level - [Autorizzazione e Policies](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/authorization-policies.md): 18 domande, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/api-resources-authentication.md): 26 domande, Mid-Level - [Middleware](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/middleware.md): 18 domande, Mid-Level - [Service Container & DI](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/service-container-di.md): 20 domande, Mid-Level - [Queues & Jobs](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/queues-jobs.md): 22 domande, Mid-Level - [Events & Listeners](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/events-listeners.md): 18 domande, Mid-Level - [Notifiche & Mail](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/notifications-mail.md): 20 domande, Mid-Level - [File Storage](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/file-storage.md): 18 domande, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/testing-phpunit.md): 24 domande, Mid-Level - [Caching](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/caching.md): 18 domande, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/livewire-inertia.md): 20 domande, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/eloquent-advanced.md): 24 domande, Senior - [Laravel Packages](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/laravel-packages.md): 20 domande, Senior - [Performance Optimization](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/performance-optimization.md): 22 domande, Senior - [Security Best Practices](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/security-best-practices.md): 22 domande, Senior - [Laravel Octane](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/laravel-octane.md): 18 domande, Senior - [Laravel Distributed Systems](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/laravel-distributed-systems.md): 22 domande, Senior - [Observability & Monitoring](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/observability-monitoring.md): 20 domande, Senior - [Deployment & DevOps](https://sharpskill.dev/it/technologies/laravel/domande-colloquio/deployment-devops.md): 20 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/laravel/domande-colloquio/repository-pattern