# Repository Pattern (Laravel) > Repository pattern (kompromisy, przypadki użycia), contracts, service layer, zasady SOLID, dependency inversion, testowalność, kiedy NIE używać - 20 pytań z rozmów - Senior - [Pytania z rozmów: Laravel](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne.md) ## 1. Czym jest Repository Pattern w Laravel? **Odpowiedź** Repository Pattern to wzorzec projektowy, który dodaje warstwę abstrakcji między logiką biznesową a warstwą danych. Enkapsuluje logikę dostępu do danych w dedykowanych klasach (repositories), umożliwiając rozdzielenie odpowiedzialności i czyniąc kod łatwiejszym do testowania. W przeciwieństwie do bezpośredniego używania Eloquent w kontrolerach, repository centralizuje złożone zapytania i ułatwia zmianę źródła danych bez wpływu na resztę aplikacji. ## 2. W jakim scenariuszu Repository Pattern przynosi największą wartość? **Odpowiedź** Repository Pattern jest szczególnie przydatny w złożonych aplikacjach z zaawansowanymi zapytaniami i wieloma źródłami danych. Sprawdza się w projektach korporacyjnych, w których logika dostępu do danych jest złożona, używana wielokrotnie w wielu miejscach lub może ulec zmianie (np. migracja z MySQL do MongoDB). W przypadku prostych CRUD-ów lub małych aplikacji może stanowić niepotrzebny over-engineering. ## 3. Jaki jest główny trade-off Repository Pattern? **Odpowiedź** Głównym trade-offem jest zwiększenie złożoności kodu oraz liczby plików do utrzymania. Każde repository dodaje co najmniej 2 pliki (interface + implementacja), co w prostych aplikacjach może szybko stać się rozwlekłe. Laravel Eloquent jest już potężną abstrakcją, która rozwiązuje 80% przypadków użycia, a dodanie dodatkowej warstwy może spowolnić rozwój bez realnej korzyści, jeśli zapytania pozostają proste. ## Jeszcze 17 dostępnych pytań - W jaki sposób Repository Pattern stosuje zasadę SOLID Dependency Inversion? - Jaka jest główna zaleta Repository Pattern dla testowania? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Laravel - [Podstawy PHP](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/php-basics.md): 25 pytań, Junior - [Podstawy programowania obiektowego w PHP](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/php-oop-essentials.md): 20 pytań, Junior - [Composer & Autoloading](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/composer-autoloading.md): 18 pytań, Junior - [Podstawy Laravel](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/laravel-fundamentals.md): 20 pytań, Junior - [Routing w Laravel](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/laravel-routing.md): 20 pytań, Junior - [Blade Templates](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/blade-templates.md): 18 pytań, Junior - [Request & Response](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/request-response.md): 20 pytań, Junior - [Podstawy Eloquent ORM](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/eloquent-orm-basics.md): 22 pytań, Junior - [Eloquent Relationships](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/eloquent-relationships.md): 25 pytań, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/database-migrations.md): 20 pytań, Mid-Level - [Walidacja i formularze](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/validation-forms.md): 22 pytań, Mid-Level - [Uwierzytelnianie](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/authentication.md): 20 pytań, Mid-Level - [Autoryzacja i Policies](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/authorization-policies.md): 18 pytań, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/api-resources-authentication.md): 26 pytań, Mid-Level - [Middleware](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/middleware.md): 18 pytań, Mid-Level - [Service Container & DI](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/service-container-di.md): 20 pytań, Mid-Level - [Queues & Jobs](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/queues-jobs.md): 22 pytań, Mid-Level - [Events & Listeners](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/events-listeners.md): 18 pytań, Mid-Level - [Powiadomienia & Mail](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/notifications-mail.md): 20 pytań, Mid-Level - [File Storage](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/file-storage.md): 18 pytań, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/testing-phpunit.md): 24 pytań, Mid-Level - [Caching](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/caching.md): 18 pytań, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/livewire-inertia.md): 20 pytań, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/eloquent-advanced.md): 24 pytań, Senior - [Laravel Packages](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/laravel-packages.md): 20 pytań, Senior - [Performance Optimization](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/performance-optimization.md): 22 pytań, Senior - [Security Best Practices](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/security-best-practices.md): 22 pytań, Senior - [Laravel Octane](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/laravel-octane.md): 18 pytań, Senior - [Laravel Distributed Systems](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/laravel-distributed-systems.md): 22 pytań, Senior - [Observability & Monitoring](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/observability-monitoring.md): 20 pytań, Senior - [Deployment & DevOps](https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/deployment-devops.md): 20 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/laravel/pytania-rekrutacyjne/repository-pattern