Расскажи про архитектуру твоего сервиса

Middle
219 просмотров
AFK Offer AI

Обычно использую clean architecture: domain слой с бизнес-логикой, usecase слой с оркестрацией, repository для работы с хранилищами, delivery для HTTP/gRPC. Зависимости идут внутрь — delivery зависит от usecase, usecase от domain. Это даёт тестируемость через интерфейсы и возможность менять инфраструктуру без переписывания бизнес-логики.

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

Что выведет: func f() int { x := 0; defer func() { x++ }(); return x }?