Встречается на собеседованиях • сегодня

Что такое паттерн Репозиторий (Repository)

Паттерн Репозиторий — это слой абстракции между бизнес-логикой и хранилищем данных (БД, API и т.д.). Он инкапсулирует логику доступа к данным, предоставляя интерфейс для работы с ними как с коллекцией объектов.

Преимущества:

  • Изолирует код от конкретной реализации хранилища
  • Упрощает тестирование (можно подменить mock-репозиторием)
  • Централизует логику запросов

Пример на Python:

python
class UserRepository:
    def __init__(self, db):
        self.db = db
    
    def get_by_id(self, user_id):
        return self.db.query("SELECT * FROM users WHERE id = %s", user_id)
    
    def save(self, user):
        if user.id:
            self.db.execute("UPDATE users SET name=%s WHERE id=%s", user.name, user.id)
        else:
            self.db.execute("INSERT INTO users (name) VALUES (%s)", user.name)

Когда использовать:

  • При сложной бизнес-логике
  • Когда нужно менять хранилище без изменения бизнес-кода
  • Для упрощения тестирования сервисного слоя
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы