Attenzione: la letteratura non è particolarmente valida, per una serie di motivi. Non è colpa tua.
Al suo interno, l'event sourcing riguarda la rappresentazione dello stato corrente di un modello come una cronologia delle modifiche con la semantica del dominio. L'unica differenza tra questi cambiamenti e ciò che Martin Fowler ha definito come Eventi di dominio , è che non sono input per il modello , ma piuttosto uscite dal modello.
Sono descrizioni delle modifiche che il modello di dominio ha apportato al proprio stato, descritte come messaggi con semantica di dominio.
L'unica vera distinzione da fare è l' autorità per l'evento; per gli eventi del dominio di input, l'autorità è là fuori nel mondo reale da qualche parte. CashWithdrawn ; Bob ha davvero preso i soldi dal bancomat. CashDeposited ; Bob ha davvero messo i soldi nel bancomat. Quando il modello di dominio è l'autorità, ottieni qualcosa come OverdraftLimitExceeded - abbiamo esaminato tutte le transazioni di ATM di Bob e ci deve dei soldi. È ancora un evento: descrive il risultato di un calcolo effettuato dal modello di dominio nel passato.
How am I supposed to name and distinguish these kinds of events from real domain events?
Onestamente? Non dovresti distinguerli; sono ancora rappresentazioni di cose accadute in passato, quindi dovrebbero avere semantica di dominio con i tempi verbali "passati" appropriati.
Può essere utile ricordare che, quando in seguito immettiamo questi eventi in un sottoscrittore, non sono distinguibili da "eventi di dominio".