Metto i gestori di eventi di dominio nel livello di dominio come interfaccia di dominio IDomainEventHandler
.
Un esempio di un gestore eventi di dominio è una politica che si iscrive a determinati eventi di dominio per inizializzare una nuova transazione (ad esempio: per attivare un nuovo comando di dominio), quindi ha senso averlo in Livello dominio da è legato alla logica aziendale.
Potremmo pensare ad un esempio in cui un ordine è confermato e quindi dovrebbe essere creata una richiesta di fattura.
Abbiamo un evento OrderConfirmedEvent
che è successo. Una politica nel nostro dominio sarebbe responsabile della sottoscrizione a questo evento e della creazione di un comando di dominio RequestInvoice
che verrà gestito dal gestore comandi e gestito di conseguenza.
Se avessimo questo gestore di eventi nel livello applicazione significherebbe che il livello dell'applicazione, oltre a orchestrare le azioni dell'utente, eseguirà alcune logiche di business, il che sembra non corretto.
Tuttavia abbiamo