Глосарій

Repository Pattern

Repository — патерн, який ізолює бізнес-логіку від деталей зберігання даних. Замість того щоб писати SQL-запити чи звертатись до ORM прямо в сервісах, вся робота з БД інкапсулюється в окремий клас-репозиторій.

Що дає

Проста структура

interface UserRepository {
  findById(int $id): ?User;
  save(User $user): void;
}

class SqlUserRepository implements UserRepository { ... }

Коли не потрібен

У маленьких CRUD-застосунках Repository — надмірне ускладнення. Виправданий там, де бізнес-логіка складна і потрібна незалежність від джерела даних.