Ich frage mich, ob es besser ist, Ereignisse zu veröffentlichen, anstatt Ausnahmen von Aggregaten zu werfen. Angenommen, ich habe eine Domain, in der nur Schüler einer bestimmten Klassenstufe sich für Sport anmelden können. Wenn das Aggregat EnrollForSports für einen Studenten aufruft, der die Kriterien nicht erfüllt, sollte das Aggregat eine Ausnahme auslösen oder ein Ereignis veröffentlichen, insbesondere wenn andere Aggregate oder Prozessmanager am Ergebnis des Prozesses interessiert sind?CQRS - Domain-Ausnahmen vs Ereignisse für außergewöhnliche Szenarien
Wenn ein Ereignis veröffentlicht wird, bedeutet dies nicht, dass ein entsprechender interner Event-Handler erforderlich ist, um das Ereignis bei der Wiedergabe zu behandeln, obwohl das Ereignis den Status des Aggregats nicht ändert?
Wenn eine Ausnahme ausgelöst wird, wie werden die anderen Parteien benachrichtigt? Kann der Command-Handler die Ausnahme abfangen und dann ein Ereignis auslösen? Können Ereignisse von Befehlsroutinen ausgelöst werden?
Das unmittelbare Feedback wird natürlich nur funktionieren, wenn die Ausnahme synchron ausgelöst wird, nicht irgendwo auf der ganzen Linie eines komplexen Saga oder Prozess-Manager eine nachfolgende Kaskade zu schaffen von Ereignissen und Befehlen. –