Могут ли сущность иметь между собой ассоциативные связи или для такого случая необходимо использование агрегата?
Заранее прощу прощения за скудные знания в области DDD. Если я где-то неправ, прошу меня поправить.
Есть сущности: ЗАКАЗ, СПОСОБ_ОПЛАТЫ
В сущности ЗАКАЗ есть ссылка на на идентификатор СПОСОБА_ОПЛАТЫ (связь многие к одному).
Может ли существовать полноценная ассоциативная связь между объектами ЗАКАЗ и СПОСОБ_ОПЛАТЫ, то есть в сущности ЗАКАЗ будет метод который возвращает объект СПОСОБА_ОПЛАТЫ или же для этого необходимо использовать агрегат?
Илья, Для обоих типов сущностей должен быть полный круд. Заказ не может существовать без способа оплаты, но способ оплаты не должен быть завязан исключительно на заказе. Теоретически в будущем способы оплаты могут быть использоваться не только с заказами.
Илья, Нет, способ оплаты это счет на который будут переведены деньги. а когда они будут реально переведены, в заказе есть поле aprooved по умолчанию 0, а после перечисления суммы на счет 1. Может способ оплаты не совсем корректное название.
glebvvs, наверное не корректный. DDD это командный инструмент, и непротиворечивый общий язык - одна из ключевых концепций. А я из вашего описания не понимаю кто кому платит даже
"Сущность" и "Агрегат" - это не взаимоисключающие понятия. В твоем случае ЗАКАЗ и есть агрегат, который включает в себя СПОСОБ_ОПЛАТЫ. Но он так же является сущностью и имеет собственный набор полей.