Моделирование соединений объектов в DDD

#domain-driven-design

#проектирование, управляемое доменом

Вопрос:

Предположим, у меня есть два класса:

  • Порядок
  • Элемент заказа

Какое соединение является правильным с точки зрения DDD?

  1. Элемент ORDER, содержащий поле, ссылающееся на порядок
  2. Порядок, имеющий поле — коллекция элементов заказа

Интерпретируется ли поле, ссылающееся на другой объект, как зависимость?

Я пытаюсь лучше понять DDD.Спасибо.

Ответ №1:

Здесь я сделаю предположение и буду считать, что ваш класс Order является совокупным корнем.

В этом случае вы бы выбрали вариант 2, что означает, что порядок тогда будет содержать коллекцию элементов заказа. И OrderItems могут быть добавлены только через корень агрегата заказов, т.Е.. через порядок методов.AddOrderItem().