Что такое repository pattern в Go и зачем это нужно?

GoJunior+Data Access and ORMТеорияdata_access_and_ormrepository_patterngo_backend_developer

Что хотят услышать интервьюеры:

Суть: repository скрывает доступ к данным от сервисного слоя.

Ответ:

Пример:

type UserRepo interface {
  Find(ctx context.Context, id int64) (*User, error)
}

Типичная ошибка: делать repository огромным и абстрагировать SQL до нечитаемости.

Как отвечать на собеседовании: На интервью лучше показать, что вы выбираете инструмент под задачу: raw SQL, sqlc, GORM, pgx или sqlx — у каждого свой trade-off.

Источники

Похожие вопросы