Что такое паттерн Repository?

Ответ

Абстракция доступа к данным: коллекция доменных объектов в памяти. Клиент работает с сущностями, не зная о SQL/хранилище.

interface UserRepositoryInterface {
    public function find(int $id): ?User;
    public function save(User $user): void;
    public function findByEmail(string $email): ?User;
}
class EloquentUserRepository implements UserRepositoryInterface {
    public function find(int $id): ?User { return User::find($id); }
    // ...
}

Плюсы: тестируемость (подмена на in-memory), смена хранилища, единая точка доступа к данным.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.