SYSTEM ATLASЗагрузка материала

Паттерн Unit of Work

Unit of Work Pattern

Собирает изменения в одну согласованную единицу фиксации.

Простыми словами

Представьте несколько изменений заказа: создать запись, уменьшить остаток и добавить платёж. Вместо независимой фиксации каждое изменение входит в одну рабочую пачку - либо база принимает весь набор, либо изменения не считаются завершёнными. Так бизнес-операция не остаётся наполовину выполненной.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Применять локальное решение без проверки контекста, ограничений и вторичных последствий.

Системный подход

Сначала определить механизм, затем выбрать минимальное изменение и измерить результат.

Ограничения

«Паттерн Unit of Work» объясняет только часть происходящего в области «Архитектура ПО». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Martin Fowler. Patterns of Enterprise Application Architecture (2002).

Первоисточник