![[Перевод] Unit of Work в Go: практический гайд по транзакциям между репозиториями](https://habrastorage.org/getpro/habr/upload_files/36a/e29/fe5/36ae29fe5742add2fc4558b3567cb600.jpg)
[Перевод] Unit of Work в Go: практический гайд по транзакциям между репозиториями
Когда у каждого репозитория есть свой Tx, код может выглядеть чисто, но атомарность всё равно сломается: один Store откатится, другой уже успеет закоммитить изменения. В статье показан более надёжный вариант для Go-кода: репозитории остаются небольшими интерфейсами, транзакционная логика уезжает в Unit of Work, а сервис работает с готовым набором хранилищ, построенных поверх одного sql.Tx. Разобраться в Go