Описание тега aggregateroot

Кластер связанных объектов, которые рассматриваются как единое целое с целью изменения данных. Внешние ссылки ограничены одним членом Aggregate, обозначенным как корневой. В границах Агрегата применяется набор правил согласованности.
1 ответ

Создать сводный корень в контексте другого сводного корня

В настоящее время я борюсь с созданием экземпляров в контексте DDD. Я много читал и искал, а иногда думал, что нашел ответ только для того, чтобы понять, что при программировании он чувствует себя неправильно. Это моя ситуация: У меня два совокупных…
1 ответ

DDD: реализация доменных событий в монолитном приложении

Я провел небольшое исследование о предметных событиях и нашел несколько разных решений. Решение Udi Dahan, которое обрабатывает события немедленно События с отложенным доменом, которые в большинстве случаев запускаются в инфраструктуре События домен…
2 ответа

В DDD являются ли репозитории единственным типом классов, которые могут касаться постоянства?

В DDD совокупные корни сохраняются через репозитории. Но являются ли репозитории единственными классами, которые могут касаться постоянства в ограниченном контексте? Я использую CQRS вдоль стороны DDD. Что касается запросов, такие вещи, как количест…
2 ответа

Сохранение согласованности между агрегатами

Мне интересно, как решить проблемы согласованности транзакций между агрегатами. Мое первое впечатление состоит в том, что всякий раз, когда вам нужна согласованность транзакций между агрегатами, вы неправильно проектировали свои агрегаты. Однако я в…
2 ответа

Как я должен обеспечить соблюдение отношений и ограничений между совокупными корнями?

У меня есть пара вопросов относительно отношений между ссылками между двумя агрегатными корнями в модели DDD. Обратитесь к типичной модели клиента / заказа, приведенной ниже. Во-первых, должны ли ссылки между фактической реализацией объектов агрегат…
0 ответов

Aggregate Root ссылается на другую Aggregate Root и Entity Framework (DDD)

У меня есть Совокупный Корень (Персона), который содержит коллекцию Хаусов, которая также является Совокупным Корнем. Проблема, которую я вижу, заключается в том, что всякий раз, когда я добавляю новый элемент в person.House и я сохраняю человека с …
3 ответа

DDD-навигация к сущностям внутри совокупного корня через составную идентификацию

У меня есть совокупный корень Products который содержит список объектов Selectionкоторый, в свою очередь, содержит список объектов, называемых Features, Совокупный корень Product имеет личность только имя Лицо Selection имеет идентификатор имени (и …
2 ответа

.net реализация связи между агрегатными корнями в разных ограниченных контекстах

Я впервые применяю концепции DDD к реальной проблеме. Я начал только с 1 ограниченного контекста, так как проект относительно небольшой. Однако я оказался с классами, которые почти идентичны, то есть очень похожи, очень похожи, но отличаются поведен…
2 ответа

Корень агрегата DDD - это правильно иметь статический метод, который создает объект

Правильно ли иметь такой метод Create? Или я должен создать пользователя внутри службы вместо. Это разрушает концепцию DDD? Каковы лучшие практики для подобных ситуаций? Примечание: я тоже использую DI. public class User : HistoryBase, IAggregateRoo…
09 апр '18 в 21:23
1 ответ

Может ли транзакция изменить несколько агрегатов в доменно-управляемом дизайне?

В статье "Проектирование на основе доменов: решение сложных задач в основе программного обеспечения" Эванс определяет Агрегат - это кластер связанных объектов, который мы рассматриваем как единое целое с целью изменения данных. Очевидно, это означае…
1 ответ

DDD изменить совокупный идентификатор корня

В ходе обсуждения я получил следующий вопрос. В банковском домене есть совокупный корень, Account, идентифицируемый по номеру счета. Предположим, что в какой-то момент времени банк решил сменить весь счет с 8 на 12 цифр по некоторым причинам, и счет…
15 ноя '17 в 16:23
3 ответа

Лучшие практики для работы со ссылками в совокупных корнях и сущностях

Допустим, у меня есть Совокупный корень A, который имеет сущность B Совокупный корень C, который имеет сущность D Я читал, что лучше всего хранить идентификатор объекта внутри агрегатных корней вместо прямых ссылок, например, A->C_Id и C->A_Id. Може…
04 ноя '17 в 09:37
2 ответа

Можно ли создавать огромные события в Event Sourcing?

Мы используем источник событий и создаем агрегаты из потока событий. У меня 2 агрегата - А1 и А2. A1 используется в качестве шаблона для создания A2. Размер А1 может быть довольно большим. Основная идея Event Sourcing заключается в том, чтобы гарант…
08 июн '12 в 19:20
1 ответ

Как сослаться на лист из другого корня?

У меня есть этот дизайн: У продукта есть много ценовых сеток, у сетки много ценовых периодов. Product Id Name Grids[] Name Periods[] Price Start End Теперь у меня есть специальные предложения, когда продавец создает предложение (например, -10%), он …
10 июл '12 в 08:15
2 ответа

Что такое StreamId в EventSourcing, когда событие домена влияет на несколько агрегатов в одном и том же ограниченном контексте?

Streams Некоторые авторы предлагают классифицировать события в "потоках", а многие авторы идентифицируют "поток" с "совокупным идентификатором". Скажи событие car.repainted под этим мы подразумеваем, что мы перекрасили машину с идентификатором 12345…
1 ответ

NHibernate и Interceptor в совокупном корне

Предполагая, что объект A имеет список объектов B, а B связан с объектом C. Используя NHibernate, если я обновляюсь как экземпляр C, как я могу получить уведомление о том, что "что-то", связанное с одним экземпляром (и каким экземпляром) A, было обн…
03 июн '13 в 09:44
2 ответа

DDD и авторизационно-зависимые объекты как совокупные корни?

Интересно, должен ли я моделировать зависимые объекты как совокупные корни. Допустим, у меня есть TaskList и этот список имеет Tasks. Task не может существовать без TaskList но это можно просматривать и редактировать отдельно. Там нет особых условий…
2 ответа

Решив сделать его корнем совокупности или оставить его в качестве члена совокупного корня.

Я помню в книге Эрика Эванса о DDD, если сущность может быть понята только в терминах другой сущности (корень совокупности), то сделайте ее "простой" сущностью (членом AR). Мой вопрос: что именно означает "можно понять самому"? Какие вопросы я долже…
21 мар '17 в 16:58
1 ответ

DDD Совокупный корневой дизайн

Попытка смоделировать программную систему "производственный завод"... В основе всей системы лежит "рабочий порядок" - почти каждый объект (многие из которых не показаны здесь или часть рассматриваемого AR) так или иначе связан с ним. Однако в первую…
1 ответ

Операции над объектами в рамках совокупного корня

Если я спроектировал AR, как показано ниже, как, по вашему мнению, мне следует обновить свойство в одном из объектов строки заказа? Например, как я могу изменить заголовок для одной из моих строк заказа (пример вопроса) Это корень заказа совокупный …
30 июл '12 в 17:39