Отображение изменений в представлении при использовании CQRS и DDD с событиями домена и ServiceBus

Я немного запутался в потоке в системе, использующей события домена для построения модели чтения. В частности, как мы справляемся с тем фактом, что пользователь ожидает, что данные (и их представление) изменятся, когда они завершат команду, но из-за нашей системной архитектуры (неблокирующие вызовы для публикации событий) фактическая база данных может не измениться до страница перезагружена?

I ' слышит событие и удаляет фактическую строку из БД

Итак, что парень должен делать?

Я мог бы просто, скажем, удалить div, который отображал метод оплаты. Это может работать в сценарии AJAX, но что, если я использую Post-Redirect-Get для поддержки клиентов, отличных от JavaScript. Затем я буду запускать свой Get и читать данные со стороны запросов, возможно, до их обновления.

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

Есть ли способ согласовать реализацию изменений как несвязанные асинхронные события и показать пользовательские данные, которые отражают их текущее изменение?

РЕДАКТИРОВАТЬ: Мой вопрос очень похож на CQRS, База данных отчетов о синхронизации DDD Я должен сказать, что ответ, данный там, а также упомянутый здесь, имеет немного запаха - пререкания пользовательского интерфейса, чтобы показать обновление, которое не соответствует прочитанной БД, так сказать . Я надеялся на что-нибудь более чистое.

11
задан Community 23 May 2017 в 11:59
поделиться