2012-02-29 7 views
9

Должен ли объект привязать объект к объекту в методологии DDD?Должен ли объект привязать объект к объекту?

EDIT

@Dmitry:

Это, наверное, мой случай. Здесь я прикладываю диаграмму классов, где Account содержат ссылки на коллекцию IInvoiceable элементов. Я обрабатываю Tenant как сущность, но ей принадлежит только 1 учетная запись, и я не думаю, что Account нуждается в идентификации. его часть Tenant. Или я должен рассматривать его как Сущность? Для меня это не имеет смысла.

enter image description here

ответ

15

Да, может. Это был бы относительно неясный случай, но DDD позволяет это, и это может быть полезно. От DDD book by Eric Evans:

ОБЪЕКТЫ VALUE могут даже ссылаться на ENTITIES. Например, если я попрошу услугу онлайн-карты для живописного маршрута езды из Сан-Франциско в Лос-Анджелес, он может получить объект Route, связывающий L.A. и San Francisco через шоссе Pacific Coast Highway. Этот объект Route будет VALUE, хотя все три объекта, которые он ссылается (два города и шоссе), являются ВСЕМИ.

page #98

+0

спасибо, я отредактировал мое сообщение, может быть, это покажет, что я где-то ошибся – Ivan

+0

Возможно, вам нужно объединить Арендатора и Счета в один Entity - TenanatAccount. Или у вас может быть Агрегированный корень, а Учетная запись - сущностью внутри корня агрегата. Или ваша учетная запись все еще может быть объектом Value - и содержать ссылки на другие объекты. Его трудно дать вам совет, потому что мы недостаточно знаем о вашем домене. Ни один из этих подходов не нарушает DDD, поэтому выберите тот, который заставляет вас чувствовать себя лучше прямо сейчас и изменить его позже, по мере развития вашего понимания домена. – Dmitry

+0

Большое спасибо. Я, вероятно, объединяя их вместе, потому что соло Арендатор выглядит слишком анемичным. – Ivan