Глоссарий

Repository Pattern

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

Что даёт

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

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

class SqlUserRepository implements UserRepository { ... }

Когда не нужен

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