вот в голове висит вопрос. Как быть когда бизнес просит добавить новые события, которые как бы ломают всю малину для уже существующих сущностей.
Ну к примеру:
Есть агрегат юзера. Логика была такой, что заполнил форму регистрации и юзер создан, пользуйся.
Через время бизнес говорит давайте делать апрувы, т.е. просто созданый юзер уже должен быть неактивным и активироваться после нового эвента "апрув". Новые юзеры то понятно, а что делать со старыми, у которых не было такого эвента, но они как бы должны быть активными?
спрашиваешь бизнес. "а что делать с юзерами которые уже зареганы?" а они такие "ну пусчай они будут автоматом заапрувлены" то есть ты просто мигрируешь стрим и добавляешь этот ивент
так просто же. старый ивент ты называешь. UserRegisteredAndApproved и заводишь два новых просто UserRegistered и UserApproved и все дальше работаешь как и работал. либо UserRegistered -- версии #1 -- нужно сразу аппрувить. если версия номер 2, то нужно запрашивать аппрув
Обсуждают сегодня