Я новичок в мире CQRS/ES, и у меня есть вопрос. Я работаю над веб-приложением для выставления счетов, которое использует источники событий и CQRS.CQRS aggregates
Мой вопрос в том, что, по моему мнению, новая команда, входящая в систему (скажем, ChangeLineItemPrice), должна проходить через модель домена, чтобы ее можно было проверить как юридическую команду (например, чтобы проверить, соответствует ли эта позиция фактически существует, цена не нарушает никаких бизнес-правил и т. д.). Если все идет хорошо (команда не отклонена) - тогда создается и сохраняется соответствующее событие (например, LineItemPriceChanged)
То, что я не совсем понял, это то, как я могу сохранить этот агрегат в памяти для начала, прежде чем пытаться применить команду. Если у меня есть миллион счетов-фактур в системе, должен ли я воспроизводить всю историю каждый раз, когда я хочу применить команду? Всегда ли я сохраняю событие без каких-либо проверок и выполняю проверки при построении моделей/прогнозов?
Если я неправильно понял какую-либо часть процесса, я был бы признателен за ваши отзывы.
Благодарим за помощь!
Спасибо, это очень помогает! – amitayh
Отлично. Достаточно ли этого, чтобы быть отмеченным как ответ? подталкивать .. – Codescribler