В настоящее время я работаю над ограниченным публикацией контекстом. Основными игроками в этом контексте являются Продукт и Список.DDD: вложенные агрегаты и многие из многих отношений
Продукт: может быть указан на нескольких торговых площадках. Один Продукт Много Listing.
Листинг: может быть много продуктов, потому что некоторые варианты вариантов поддержки на рынке. Один Список Много Продукт.
На основании вышеизложенного у меня есть многие-ко-многим между листинга и продукт.
Я создал агрегат для обоих. Агрегат продукта, который содержит списки и агрегирование листинга, которое содержит продукты.
Допустимо ли иметь Листинг, определенный в обоих агрегатах, или я должен определить листинг один раз для использования в обоих агрегатах?
Первый Листинг будет в совокупности продукта, поскольку AR продукт имеет фабричный метод, который применяет правила при создании листинга (например, во избежание дублирования листинга на одном рынке и гарантировать, что мы имеем наличии Кол-во для листинга)
Второй Листинг будет представлять собой совокупный корень, который может содержать информацию от многих Продукт, необходимый на момент публикации. Таким образом, я могу создать метод в листинге, чтобы сопоставить его с определением схемы, предоставляемым различными торговыми площадками (такими как Ebay и Amazon). Кроме того, я хочу иметь возможность сохранять листинг самостоятельно из Листингов в одном продукте.
У двух агрегатов слишком много перекрытий с дублирующими определениями? Можно ли ожидать этого в одном ограниченном контексте?
Также как сохранить дублирующее представление листинга синхронизировать друг с другом?
Не могли бы вы поделиться больше информации о? 1. Ответ первого листинга - это просто запись объекта, на котором продается продукт, который должен быть опубликован? 2. Что означает «Этот способ я могу создать метод в листинге для сопоставления его с определением схемы, представленным разными рынками», во втором листинге? Вы хотите преобразовать свой продукт в схему продуктов Amazon? – Hippoom
Могли бы вы, возможно, создать «Вариант вариации», отличный от «Регулярного списка». Это звучит для меня, как будто они могут быть отдельными вещами? Что касается совокупности или нет, найдите границы транзакционной согласованности. Это может быть отправной точкой, чтобы помочь вам решить, что именно. – stephenl
Первое определение листинга в совокупности продуктов будет объектом регистрации того, на каком рынке он публикуется (наряду с какой ценой, названием, количеством). Второе определение листинга было бы его собственным AR, который знает, как сопоставить себя с схемой продуктов Amazon и схемой Ebay в любом случае. – berkeleyjuan