DDD / ES - Поправки и переигровка стратегии событий - PullRequest
0 голосов
/ 29 июня 2019

Я знаю, что переписывание не следует делать в Event Sourcing.

У меня есть Product агрегат с Stock внутри. Операции работают подобно программному обеспечению для работы с электронными таблицами.

Если кто-то должен был внести поправку в определенный момент времени, такой как Стоимость или Количество, все должно быть пересчитано .

Существует стратегия определения запасов продукта, т. Е. «Первым пришел - первым вышел», «первым пришел - первым вышел».

Каждое действие датируется как Пополнение и Взятие.

Решение этого вопроса, о котором я сейчас думаю:

  • Загрузить агрегат как обычно
  • Применить поправку
  • Повторно применить некоторые события, которые происходят после даты внесения поправки (если поправка должна быть на 2 января, применить события на 3 января и далее)

Я не уверен, есть ли способ обойти это, но это единственное решение, которое я придумал.

Еще одна проблема, с которой я столкнулся, это то, что она выглядит дорогой .

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

Скажем, у вас есть 365 событий (1 событие в день в течение 1 года), и у вас есть поправка от 2 января для обновления стоимости акций с 19 до 199 ... вам нужно сделать 365 + 364 события.

Вопрос:

  • Правильно ли предложенное мной решение?
  • Стоит ли беспокоиться о производительности решения?
  • Может ли быть разумный способ обойти это?

Есть похожий вопрос к этому ( ссылка ), но он не ответил на мои вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...