# Repository Pattern (Laravel) > Repository pattern (компроміси, сценарії використання), contracts, service layer, принципи SOLID, dependency inversion, тестованість, коли НЕ використовувати - 20 питань зі співбесід - Senior - [Питання зі співбесід: Laravel](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy.md) ## 1. Що таке Repository Pattern у Laravel? **Відповідь** Repository Pattern — це патерн проєктування, який додає шар абстракції між бізнес-логікою та шаром даних. Він інкапсулює логіку доступу до даних у спеціальних класах (repositories), що дозволяє розділити відповідальності та зробити код більш придатним до тестування. На відміну від прямого використання Eloquent у контролерах, repository централізує складні запити та полегшує зміну джерела даних без впливу на решту застосунку. ## 2. У якому сценарії Repository Pattern приносить найбільшу цінність? **Відповідь** Repository Pattern особливо корисний у складних застосунках зі складними запитами та кількома джерелами даних. Він виблискує в корпоративних проєктах, де логіка доступу до даних складна, повторно використовується в багатьох місцях або, ймовірно, зміниться (наприклад, міграція з MySQL на MongoDB). Для простих CRUD або невеликих застосунків це може бути зайвим надмірним проєктуванням. ## 3. Який основний trade-off Repository Pattern? **Відповідь** Основний trade-off — це збільшення складності коду та кількості файлів для підтримки. Кожен repository додає щонайменше 2 файли (interface + реалізація), що в простих застосунках може швидко стати громіздким. Laravel Eloquent уже є потужною абстракцією, яка вирішує 80% сценаріїв використання, і додавання додаткового шару може сповільнити розробку без реальної користі, якщо запити залишаються простими. ## Ще 17 доступних питань - Як Repository Pattern застосовує принцип SOLID Dependency Inversion? - Яка основна перевага Repository Pattern для тестування? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід Laravel - [Основи PHP](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/php-basics.md): 25 запитань, Junior - [Основи ООП у PHP](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/php-oop-essentials.md): 20 запитань, Junior - [Composer & Autoloading](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/composer-autoloading.md): 18 запитань, Junior - [Основи Laravel](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-fundamentals.md): 20 запитань, Junior - [Маршрутизація в Laravel](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-routing.md): 20 запитань, Junior - [Blade Templates](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/blade-templates.md): 18 запитань, Junior - [Request & Response](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/request-response.md): 20 запитань, Junior - [Основи Eloquent ORM](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/eloquent-orm-basics.md): 22 запитань, Junior - [Eloquent Relationships](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/eloquent-relationships.md): 25 запитань, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/database-migrations.md): 20 запитань, Mid-Level - [Валідація та форми](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/validation-forms.md): 22 запитань, Mid-Level - [Автентифікація](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/authentication.md): 20 запитань, Mid-Level - [Авторизація та Policies](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/authorization-policies.md): 18 запитань, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/api-resources-authentication.md): 26 запитань, Mid-Level - [Middleware](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/middleware.md): 18 запитань, Mid-Level - [Service Container & DI](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/service-container-di.md): 20 запитань, Mid-Level - [Queues & Jobs](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/queues-jobs.md): 22 запитань, Mid-Level - [Events & Listeners](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/events-listeners.md): 18 запитань, Mid-Level - [Сповіщення та Mail](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/notifications-mail.md): 20 запитань, Mid-Level - [File Storage](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/file-storage.md): 18 запитань, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/testing-phpunit.md): 24 запитань, Mid-Level - [Caching](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/caching.md): 18 запитань, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/livewire-inertia.md): 20 запитань, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/eloquent-advanced.md): 24 запитань, Senior - [Laravel Packages](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-packages.md): 20 запитань, Senior - [Performance Optimization](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/performance-optimization.md): 22 запитань, Senior - [Security Best Practices](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/security-best-practices.md): 22 запитань, Senior - [Laravel Octane](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-octane.md): 18 запитань, Senior - [Laravel Distributed Systems](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/laravel-distributed-systems.md): 22 запитань, Senior - [Observability & Monitoring](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/observability-monitoring.md): 20 запитань, Senior - [Deployment & DevOps](https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/deployment-devops.md): 20 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/laravel/pytannia-spivbesidy/repository-pattern