Если моя доменная модель не должна знать/заботиться о репозитории, то как же такое поведение, как .UpdateOrder(...)
, инкапсулирует интерфейс CRUD-Update с помощью репозитория? Через доменную службу?Настойчивость, инкапсулированная через домен или постоянство через репозиторий?
Итак, у моего репозитория есть эффективный CRUD-Update, который используется вместе с моим .UpdateOrder(...)
. Хорошо. Но я не хочу, чтобы кто-то использовал метод Update в репозитории, я хочу, чтобы они прошли через поведение в Entity (вместо этого используйте UpdateOrder()). Я бы предпочел, чтобы это было похоже на то, как моя модель домена удовлетворяет инвариантам - по ее дизайну (свойства частного набора и т. Д.) - мой репозиторий не подвергает альтернативный метод «обновлению»/сохранению Entity.
Является ли это просто проблемой модификатора доступа, которая решена мной, не имея метода Update в публичной службе Repo. Или есть «лучший» ответ? Пожалуйста, помогите мне DDD ниндзя.
Что делает UpdateOrder и какие параметры требуется? Является ли это буквальным обновлением постоянного хранилища со значениями в Entity? – 2010-12-02 16:53:10
UpdateOrder - это поведение бизнес-модели. На самом деле не имеет значения, что требуется или делает, за исключением того, что он инкапсулирует логику домена, и в конце ему нужно сохранить измененное состояние. – 2010-12-03 13:15:07