DDD: Объект Значения может иметь списки в них?

Для легкого & абсолютно бесплатная опция, можно использовать Springloops, интегрированный с Basecamp (+ клиент SVN).

  • Размещенный SVN: SpringLoops: http://www.springloops.com/ (свободный для единственного проекта & пользователь)
  • Basecamp: http://basecamphq.com/ (также свободный для единственного проекта)

Примечание: интеграция SpringLoops с Basecamp не доступна в их бесплатной установке.

7
задан Miguel G 30 November 2009 в 07:06
поделиться

1 ответ

Взгляните на ответы на связанные вопросы здесь и здесь


1) Да - Если вы ' повторное сохранение VO в их собственной таблице

2) Если вы можете использовать свойство частного / защищенного идентификатора, тогда отлично. В качестве альтернативы вы можете использовать явные интерфейсы, чтобы «скрыть» свойство ID.

Но, читая ваш вопрос, вы предполагаете, что разработчики, которые видят свойство ID, автоматически предполагают, что объект является сущностью? В таком случае им требуется (пере) обучение.

3) Да, может, но со следующими ограничениями:

  • Это должно быть довольно редко
  • Это должно ссылаться только на другие ВО

Также, подумайте вот о чем: ВО не должны оставаться. Было бы легко / эффективно воссоздавать всю ВО каждый раз, когда это необходимо? Если нет, сделайте это сущностью.

4) Зависит от того, как вы хотите реализовать свою агрегированную блокировку . Если вы хотите использовать решение Айенде , ответ - да. В противном случае вам понадобится механизм для обратного перехода по графу объектов к агрегатному корню.

5) Да. Не забывайте, что DDD - это Persistence Ignorant (в идеальном мире!).


Однако ...

Я считаю, что Реферал должен быть Entity . Представьте себе эти разговоры:

Диалог 1:

  • Том: «Привет, Джо! Можешь дать мне направление Дэвида Джонса?»
  • Джо: «Какой?»
  • Том: «Извини, я имею в виду направление №123»

Диалог 2:

  • Том: «Привет, Джо! Можешь дать мне направление Дэвида Джонса?»
  • Джо: «Какой именно?»
  • Том: "Мне все равно - дай мне хоть немного"

Разговор 1 предполагает, что «Реферал» является Сущностью , тогда как разговор 2 предполагает, что это ВО.

Еще одна вещь: изменяется ли Referral.ReferralType за время его существования (есть еще один намекните, что это должна быть Сущность)? Если он не изменится, рассмотрите возможность использования полипорфизма и позвольте NH заниматься этим.

Надеюсь, что это поможет!

10
ответ дан 7 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: