Исключение событий и объекты словаря
-
27-09-2019 - |
Вопрос
Как источника события можно сочетать с несколькими типами объектов словаря, как Country
, Region
, Time Zone
и т. д. и типы словаря из конкретной модели домена, как Budget
или Availability
Определения. Некоторые из объектов словаря должны быть возможны редактированием в Admin UI, но некоторые нет.
Например, мы решили, что нам не нужна Admin Ui для стран. Таким образом, нам не нужно реализовывать AddCountry
/RemoveCountry
команды.
Должен ли я генерировать набор CountryAdded
События IE Должны ли я сохранять объекты словаря как поток событий? Мы когда-нибудь используем источник правды, а затем поток событий?
В случае, если я могу пойти без потока событий для объектов словаря, как вы решите эту проблему:
Показать список стран с количеством пользователей в каждой стране.
В этом случае мне нужно представление Country
Объекты в чтенной модели со слушателем для UserAdded
мероприятие.
Спасибо.
Решение
Если вы используете источник события как механизм постоянства, то:
- Поток событий является единственным источником истины (снимки объекта, создаваемые из потока событий, могут быть использованы для повышения производительности, но они просто техника).
- Когда вы используете поиск событий, вам не нужно сгенерировать событие явно - просто опубликовать фактические события, созданные при обработке команды.
- Если у вас есть предопределенный список стран, которые никогда не изменится, вы можете просто сложно и ссылаться на них своими странами. Однако это подразумевает, что модель просмотра и пользовательского интерфейса знают об этом, а страны не собираются меняться.
Кстати, я рекомендую размещать такие вопросы, как это DDD / CQRS Group. Отказ Это самое активное сообщество по вопросам CQRS / DDD / ES.