В обход совокупного корня

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

Редактировать:

Вот пример

У меня есть совокупная корневая сущность с именем UserAccount и другая совокупная корневая сущность под названием VideoStore. Пользователи могут иметь несколько магазинов, в которых они находятся отдельно, а магазины видео могут иметь много пользователей. Очень базовая структура «многие ко многим», но это не потому, что таблица мостов «многие ко многим» содержит информацию о состоянии, поэтому она также должна быть сущностью. Итак, у меня есть объект-мост под названием UserVideoStores и его дочерний элемент совокупного корневого VideStore (один-ко-многим).

Теперь, когда пользователь входит в систему, я хочу посмотреть, какие VideoStores они являются отдельными и отображать эту информацию для них. Я легко могу сделать это, заставив сущность UserAccount иметь прямую (один-ко-многим) ссылку на дочерний объект UserVideoStores совокупного корневого VideoStores. Кажется, проще сделать это, затем использовать запрос HQL и выполнить поиск снизу вверх, чтобы определить, какие хранилища принадлежат пользователю.

Имеет ли это смысл?

Редактировать:

Ну, я придумала решение сделать мою модель чище. Я не думал прямо о некоторых своих проектах, и я научился немного лучше использовать nHibernate, чтобы помочь мне найти решение. Спасибо

 Paco13 июл. 2009 г., 22:19
Можете привести пример?

Ответы на вопрос(2)

правил.
Недавно он сказал что-то вроде

"Расслабься, чувак. Постарайся помешать себе нарушить правила человека. Но, эй, не бей себя за это. DDD качает чувак, но нарушает правила Agg, если тебе действительно нужно. Да, мир. & Quot;

Увидеть:  «Эрик Эванс: что я узнал о DDD со времени выхода книги». http://dddcommunity.org/library/evans_2009_1

Решение Вопроса

«Корень - единственный член AGGREGATE, которому разрешено хранить ссылки на внешние объекты ...» (стр. 127)

Насколько я понимаю, агрегат должен выглядеть как единое целое с внешними объектами. Так жеЗакон Деметры Казалось бы, применить. Итог, я не думаю, что это приемлемо.

 CalebHC14 июл. 2009 г., 02:07
Да, ты прав. Я нарушил некоторые законы с этим дизайном. Мне, вероятно, нужно прочитать DDD-книгу Эвана. Это, наверное, очень мне поможет. Спасибо

Ваш ответ на вопрос