Например, рассмотрите магазин, содержащий несколько меню. Элементы списка меню и один элемент могут быть перечислены в нескольких меню.Как ребенок из совокупного корня использует значения из другого заполнителя root
Представление совокупного корневого элемента и элемента агрегатного корня. Меню будет иметь коллекцию MenuItem, которая ссылается на Item AR вместе с информацией о заказе в определенном меню.
Мой вопрос: как получить доступ к названию, цене, описанию из меню MenuItem. Скажем, например, меню AR обрабатывает команду, чтобы переупорядочить себя по цене (я знаю, что звучит связанный с UI, но я строго говорю о модели домена здесь, idk, возможно, это бизнес-правило, что меню должно быть отсортировано в особым образом?)
Вы бы получили объект Value для элемента AR внутри MenuItem? Если это так, будет ли в меню AR ссылаться на службу домена для поиска объекта значения для элемента или будет ли MenuItem использовать службу домена.
Я предполагаю, что AR всегда должно быть последовательным, и это может означать, что когда элемент добавляется в меню, MenuItem содержит ссылку на объект значения для элемента.
Похоже, что это нарушит правило «ссылочные объекты по идентичности», поэтому в MenuItem будет содержаться ссылка на ItemId. Учитывая использование источника событий, всякий раз, когда вы хотите применить команду к AR меню, он воспроизводит все его события, доведя их до согласованности, а затем вы выдаете команду для переопределения элементов меню.
В меню MenuItem будет только ItemId, а не детали этого элемента, будет ли это время для загрузки этих элементов? Меню может пересекать его MenuItems, затем использовать службу для поиска объекта Item Item по ItemId для каждого MenuItem, а затем выполнить сортировку.
Спасибо за любой вклад, очень ценится.
Благодарим за то, что я нахожусь на том, что вы являетесь бизнес-правлением, это было первое, о чем я думал. Это очень помогает, я думаю, что вы правы, и для «MenuItem» имеет смысл копировать цену на себя, если цена элемента важна для меню в деловых терминах. Это просто должно быть в конечном итоге последовательным, как вы сказали, полагаясь на события «ItemPriceChanged», чтобы оставаться в курсе последних событий. Я должен делать больше исследований, потому что, если «Меню» AR прослушивал события «ItemPriceChanged» всего из «MenuItem», это уже звучит неправильно и может вызвать побочные эффекты при воспроизведении 'Item' – user3228313