hell0w0rd
Может быть задача, при которой вызывается событие, в которое передается какой-то этот объект. И код, который вызывает событие не знает, изменился ли объект после обработки события, ни обработчик не знает, стоит ли сохранять объект, т.к. дальше он может быть передан в следующий обработчик, который снова может что-то поменять.
Получается либо ситуация неопределенности, при которой не понятно, что объект был объект изменен и его надо сохранить, либо оверхед, когда объект сохраняется при каждом изменении (или сохранять, даже если ничего не поменялось).
В корпоративной системе таких приколов на каждом шагу. В
соц. сетях роль UoW выполняют внешние сервисы, реализуемые через очереди и разгребающие их кроны. На обычном сайте, где мы в основном занимаемся чтением информации, а правкой занимается один админ UoW действительно бесполезен.
Вот типичная ситуация из жизни: Когда идентифицированный пользователь открывает ЛК, то сначала проверяется его идентификация и обновляется поле lastVisitedAt.
И в этой же сессии происходит обработка формы, где данный пользователь меняет свой номер телефона.
В известном фреймворке нам придется выполнить 2 запроса сначала на выборку, а потом на апдейт одной и той же записи таблицы. Вот вам и оверхед для БД.
При том, что оверхед, связанный с использованием UoW и IM легко масштабируемый простым клонированием app-сервера, что не скажешь о БД.