Паттерн Unit of Work описывает механизм управления бизнес-транзакциями в операциях с базой данных. Он гарантирует, что набор связанных операций с БД либо полностью завершится, либо полностью откатится, сохраняя консистентность данных.
Unit of Work представляет собой набор упорядоченных операций, которые должны выполниться как единая атомарная единица. Это значит:
Возьми перевод денег между двумя банковскими счётами:
Unit of Work:
1. Списать со счёта A
2. Зачислить на счёт B
Обе операции должны произойти в правильной последовательности. Если одна операция не пройдёт, вся транзакция откатывается, чтобы избежать несогласованности данных.
Паттерн Unit of Work необходим, когда нужно координировать несколько операций с БД, которые должны либо все пройти, либо все откатиться — особенно в сценариях с финансовыми транзакциями, управлением запасами или в любом домене, где частичные обновления могут нарушить целостность данных.
Паттерн Unit of Work обеспечивает атомарность, рассматривая несколько операций с базой данных как одну неделимую единицу, которая либо полностью выполняется, либо полностью отказывает.
Новый — ещё не проверен сообществом
Вы