Совокупный вопрос DDD (.NET, EF) - PullRequest
       22

Совокупный вопрос DDD (.NET, EF)

1 голос
/ 11 августа 2011

Модель моего домена (упрощенная) содержит историю, команду, участников и комментарии.Я нахожусь в точке, где мне нужно разрешить пользователю писать комментарий к истории, и у меня есть сущность комментария, принадлежащая агрегату истории, поэтому у меня есть метод Story, который называется AddComment.Здесь кажется глупым загружать агрегат для сохранения комментария, поэтому мне было интересно, должен ли я удалить эту сущность из агрегата или я что-то здесь упускаю?Я уверен, что столкнусь с более чем одним из этих типов сценариев, поэтому любая помощь будет отличной!

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 августа 2011

Марко, не поддавайся стремлению позволить технической реализации привнести подобное изменение в модель твоего домена.Каждый раз, когда я делал это, я потом сожалел об этом.Если комментарии существуют только внутри историй, то оставьте Story в качестве совокупности и измените технологию, чтобы она соответствовала модели.

1 голос
/ 11 августа 2011

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

Обычно, когда вы обнаруживаете, что у вас есть эти документы, которые вы делаете ненужные вещи для выполнения операции, это указывает на то, что ваша модель предметной области может нуждаться в более тщательном уточнении. Просмотрите все ваши требования к границам согласованности (агрегаты), просмотрите каждый ограниченный контекст в вашей модели и, возможно, всплывет то, что вы пропустили в первом проходе.

Как говорит Эрик Эванс, DDD - это итеративный процесс. Вы потерпите неудачу первые несколько раз:)

...