Presumibilmente è possibile resuscitare lo stato applicando lo stesso insieme di comandi, quindi perché non memorizzare semplicemente i comandi anziché gli eventi?Nell'architettura Event Store/CQRS, perché gli eventi vengono memorizzati al posto dei comandi?
risposta
Eventi, comunicare "questo è successo nel nostro sistema". Gli eventi si verificano quando un comando è stato accettato ed elaborato. Nessuno può rifiutare o cambiare il fatto che sia successo. È l'unica fonte autorevole di modifiche nel sistema
I comandi sono solo un modo per una parte del sistema (come un'interfaccia utente) per dire al componente responsabile di apportare modifiche al sistema (il "gestore di comandi") che cosa vuole fatto. Tuttavia, il gestore comandi può scegliere di non elaborare il comando per vari motivi. L'interfaccia utente potrebbe avere informazioni obsolete e l'elaborazione del comando non avrebbe senso per l'azienda o l'utente non avrebbe potuto disporre dei privilegi per eseguire tale azione. In entrambi i casi, il comando è in realtà solo una richiesta & non ha alcuna relazione con lo stato di un sistema
.
- 1. Dove vengono memorizzati gli eventi di WordPress?
- 2. Perché i bmps vengono memorizzati al contrario?
- 3. Come vengono memorizzati gli oggetti in JavaScript?
- 4. Gli eventi vengono generati, attivati o attivati?
- 5. Qt: gli eventi vengono elaborati in ordine?
- 6. Perché utilizzare gli eventi?
- 7. Come vengono memorizzati gli oggetti valore nel database?
- 8. Come vengono memorizzati gli indici secondari 0,7 di Cassandra?
- 9. Gli eventi canplay/canplaythrough per un video HTML5 non vengono richiamati su Firefox. Perché?
- 10. Perché gli oggetti Argomenti JavaScript vengono modificati dall'assegnazione al parametro?
- 11. Passare gli eventi al genitore
- 12. Dove vengono memorizzati i vars in Nodejs?
- 13. Gli eventi della tastiera non vengono attivati nell'app RT
- 14. Perché ReadDirectoryChangesW omette gli eventi?
- 15. Come vengono memorizzati i membri del sindacato?
- 16. Gli eventi di clic non vengono visualizzati in RecyclerView
- 17. Come vengono attributi della classe/campi memorizzati
- 18. Simple_form: perché vengono generati due tag di input al posto di uno?
- 19. Dove vengono memorizzati i buffer Node.js?
- 20. Eventi OpenCL e code comandi
- 21. Perché i controlli secondari vengono inizializzati prima dei contenitori?
- 22. Gli eventi di Backbone.js non vengono riconosciuti in IE8
- 23. Perché gli eventi non vengono attivati dopo il secondo rendering in Backbone.js?
- 24. Come vengono memorizzati i dati in lucene
- 25. Perché gli script definiscono comandi comuni nelle variabili?
- 26. Perché gli eventi e i comandi in MVVM non sono supportati da WPF/Visual Studio?
- 27. di Xcode Tempo Profiler mostra gli indirizzi al posto dei simboli
- 28. Gli eventi non vengono attivati all'interno delle caselle Angular2
- 29. Controllare il controllo per determinare gli eventi che vengono generati?
- 30. Come vengono memorizzati i dati negli appunti di Windows
Grazie, è molto utile. –
Inoltre, la re-esecuzione dei comandi sarebbe distruttiva (influire sui dati). Per la re-esecuzione dei comandi per funzionare, si dovrebbe avere lo stesso stato iniziale. Gli eventi, per definizione, non sono distruttivi. – Rich
So che sono un po 'in ritardo per la festa, ma non è l'intero punto del negozio di eventi per ricreare lo stato dell'applicazione? La richiesta di un comando non è di per sé un evento? – Fatmuemoo