В моей работе мы используем архитектуру CQRS с доменом Driven для нашей программной платформы с системой хранения событий, чтобы мы могли перезагрузить события в домене, в случае изменений домена в новые релизы. Пока ничего особенного.Хранилища событий, домены и гибкость, как обращаться
Одно из наших рабочих соглашений заключается в том, что мы стараемся избегать изменения событий любой ценой, поскольку это нарушает более старые версии событий в хранилище событий в рабочей среде. Если мы действительно хотим изменить событие, мы должны написать конвертеры для старых версий, и поскольку это может стать утомительным, запутанным, а иногда даже невозможным, мы стараемся избегать этого как можно больше.
Однако мы также разрабатываем программное обеспечение Agile, что означает для меня (помимо всего прочего) «не планируйте слишком много в своем коде и только пишете код, который вы собираетесь использовать в ближайшем будущем ». Это имеет смысл для меня в большинстве случаев.
Но это становится проблемой с вышеупомянутыми событиями. Когда я создаю новые события, я должен добавить к ним почти все соответствующие данные, чтобы любая система, которая когда-либо обрабатывала событие, имела все необходимые ему данные. Однако, с точки зрения Agile, я бы предпочел только добавлять данные к событиям, которые мне действительно нужны в этот момент времени.
Так что мои вопросы; Каков наилучший способ справиться с этой дилеммой? Единственные «решения», о которых я мог подумать, - это либо отказаться от правила редактирования без событий, либо просто принять, что нам придется писать преобразователи событий или пытаться добавить как можно больше релевантных данных для каждого события и создавать новые события, если в будущем данных еще недостаточно.
Другая возможность заключается в том, что в нашем способе мышления просто есть недостаток. Что вы считаете самым слабым звеном в этом подходе? Есть ли лучшие способы справиться с этим?
Я надеюсь, что этот вопрос имеет смысл, и я с нетерпением жду других точек зрения :)
Какие поля имеют у вас событий? И в каких областях вы часто меняетесь? –
Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что [управление проектами теперь не в тему по переполнению стека] (// meta.stackoverflow.com/questions/343829/is-stack-overflow-an-appro-website -в-аск-о-проект-менеджмент-вопросы/343841 # 343841). Задайте эти вопросы на [SoftwareEngineering.SE] (// softwareengineering.stackexchange.com/) и [ProjectManagement.SE] (// pm.stackexchange.com/). (Вы также можете отметить вмешательство модератора, чтобы этот вопрос был перенесен.) – robinCTS