Je suis nouveau à DDD et je suis en train de lire des articles maintenant pour obtenir plus d'informations. L'un des articles se concentre sur les événements de domaine (DE). Par exemple, l'envoi de courrier électronique est un événement de domaine déclenché après l'atteinte de certains critères lors de l'exécution d'un code.Conception axée sur le domaine et les événements de domaine
code exemple montre une façon de traiter les événements de domaine et est suivi par le présent paragraphe
S'il vous plaît noter que le code ci-dessus sera exécuté sur le même fil dans la même transaction que le travail régulier de domaine afin que vous devrait éviter d'effectuer des activités de blocage, comme l'utilisation de services SMTP ou Web. Au lieu de cela, préférez utiliser la messagerie à sens unique pour communiquer avec autre chose qui effectue ces activités de blocage.
Mes questions sont
- Est-ce un problème général dans la gestion DE? Ou c'est juste le souci de la solution dans l'article mentionné?
- Si des événements de domaine sont déclenchés dans une transaction et que le système ne les gère pas de manière synchrone, comment doivent-ils être traités?
- Lorsque je décide de sérialiser ces événements et de laisser le planificateur (ou tout autre mécanisme) les exécuter, que se passe-t-il lorsque la transaction est annulée? (dans l'événement d'article est levé dans le code exécuté dans la transaction) qui les annulera (quand ils ne sont pas persistés à la base de données)?
Merci