Отдельное событие в зависимости от того, как оно было создано - PullRequest
1 голос
/ 21 марта 2019

Я делаю анализ DDD, используя штурм событий, и сталкиваюсь с этим вопросом:

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

Будет ли "это зависит" снова ответом? (например: зависит от того, повлияет ли способ его создания на последующий процесс / как будет обрабатываться агрегат).

Или ответ будет "нет", просто сделайте одно событие (RouteCreated)?

1 Ответ

0 голосов
/ 26 мая 2019

Вы всегда должны учитывать, имеют ли ваши события особую деловую значимость.Если они это сделают, они должны быть отделены.Это позволяет им развиваться независимо.

Кроме того, посмотрите, сколько вещей распространено и сколько отличается.Если вы найдете некоторые вещи, которые отличаются, но не являются общими, вам следует разделить события.Бесполезно иметь неиспользуемые поля с множеством условий, когда что-то применимо, а когда нет.

Если вам не удастся уловить это различие, вы получите низкую сплоченность, множество неиспользуемых полей и т. Д. Помните,что даже поиск источников - это прежде всего наличие неизменного журнала событий.Это означает, что в то время как вы можете изменять события, если вам нужно выполнить несколько простых миграций схемы (в общем, вы не должны, но иногда это имеет больше смысла), вы никогда не можете помещать какие-либо события между ними или удалять события.

...