доменный дизайн isDirty, isNew - PullRequest
2 голосов
/ 24 мая 2011

Если я строго следую DDD, разве концепции IsDirty и IsNew не являются свойствами сущности, нарушающей правило, согласно которому сущность должна иметь дело только со своей собственной логикой. IsDirty / IsNew - это вещи, используемые для настойчивости. Даже до сих пор я видел, как люди помещают это непосредственно в сущность или базовый класс сущности. Разве это не нет нет? Каковы некоторые другие подходы к получению той же функциональности и перемещению ее за пределы сущности. Что-то вроде трекера состояния объекта? Я пытаюсь сделать это, чтобы я мог сделать что-то вроде order.AddLine (), а затем вызвать orderRepository.Save (order). Я хотел бы сделать это без добавления логики в каждый сеттер, чтобы сказать, что это грязно.

1 Ответ

0 голосов
/ 08 июня 2011

Вы правы в том, что реализация isNew и isDirty не является приемлемой практикой при строгом соблюдении DDD.Обычно вы хотите использовать шаблон Единица работы для отслеживания изменений уровня домена, которые необходимо передать в постоянное хранилище.

...