Должна ли агрегатная модель содержать метаданные? - PullRequest
0 голосов
/ 03 декабря 2018

Хотелось бы уточнить, как должна выглядеть модель агрегата.У меня есть пара событий, которые содержат данные, которые никогда не будут использоваться для проверки.

Например, метаданные, такие как user_id, который вызвал действие (аудит), correlation_id (наблюдаемость), метки / флаги.

Они будут получены в рамках команды и будут отправлены как собственность события.Это не будет потеряно, поскольку каждое событие сохраняется.Это понятно.

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

Или это так.Если вы хотите создать снимок, вам нужны свойства всех событий.

Спасибо за совет.

1 Ответ

0 голосов
/ 07 декабря 2018

Агрегаты должны содержать только столько информации, сколько требуется для поддержания согласованности.Если ваши бизнес-правила требуют user_id, то эта информация должна сохраняться в совокупности.Иначе не должно.

...