Перейти к содержанию

События представляют изменения состояния

Доменное событие — это механизм уведомления подписчиков об изменениях, вносимых в агрегаты. События могут содержать минимальную информацию, такую как ID агрегата, или могут быть расширены с помощью данных, нужных потребителю. Факт публикации события и его содержимое определяются тем, что именно нужно потребителю. Но в случае с порождением событий эта ответственность ложится на сам агрегат.
Каждое изменение состояния агрегата (включая создание) представлено доменным событием. Каждый раз при смене состояния агрегат обязан генерировать событие1.
Событие должно содержать данные, необходимые агрегату для перехода к новому состоянию. Состояние агрегата включает в себя значения полей его объекта, в том числе и подчиненных объектов.
Pasted image 20210927200322.png
Представим, что S — текущее состояние агрегата, а новое состояние обозначим как S'. Событие E должно содержать такие данные, чтобы после вызова order.apply(E) заказ перешел из состояния S в состояние S'.


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


Последнее обновление : 25 мая 2023 г.
Дата создания : 29 июля 2022 г.

Комментарии

Комментарии