Управляется доменом события дизайна и домена

Я новичок в DDD и сейчас читаю статьи, чтобы получить дополнительную информацию. Одна из статей посвящена доменным событиям (DE). Например, отправка электронной почты - это доменное событие, возникающее после выполнения некоторых критериев при выполнении фрагмента кода.

В примере кода показан один из способов обработки событий домена, за ним следует этот абзац.

Имейте в виду, что приведенный выше код будет выполняться в том же потоке в той же транзакции, что и обычная работа домена, поэтому вам следует избегать выполнения каких-либо блокирование действий, таких как использование SMTP или веб-служб. Вместо этого лучше использовать односторонний обмен сообщениями для связи с чем-то еще, что выполняет эти блокирующие действия.

Мои вопросы:

  1. Это общая проблема при работе с DE? Или это просто проблема решения в упомянутой статье?
  2. Если в транзакции возникают события домена, и система не обрабатывает их синхронно, как они должны обрабатываться?
  3. Когда я решаю сериализовать эти события и позволить планировщику (или любому другому механизму) выполнять их, что происходит, когда транзакция откатывается? (в статье событие возникает в коде, выполняемом в транзакции), кто отменит их (если они не сохраняются в базе данных)?

Спасибо

7
задан Karel Frajták 8 June 2011 в 14:18
поделиться