Sto lavorando a un'app che mi piacerebbe molto passare da un'architettura a strati tradizionale piuttosto tradizionale a CQRS, per una serie di motivi, non ultimo per il fatto che avere un robusto log di eventi aggiungerà un paio di richieste di funzionalità Riesco a vedere barricato verso di me banale da accontentare.
Ora ho un problema concettuale: di circa 40 comandi che l'utente può avviare, ce ne sono tre che l'utente ha bisogno di per essere sicuri che siano stati completati correttamente prima che l'interfaccia utente consenta loro di fare qualsiasi altra cosa. Tutto il resto si inserisce nel modello "invia una richiesta, esegui una ricerca per il successo successivo", tranne per questi tre comandi.
Come viene gestito in CQRS-land? Separo i tre comandi di blocco in modo efficace in un terzo servizio, quindi ho comandi, query e blocchi di comandi? Ho un processore di eventi a due stadi con un primo stadio di blocco in richiesta che viene utilizzato solo per i comandi di blocco? L'esistenza di questi tre comandi significa che l'idea di applicare CQRS non è valida? Dovrei solo far finta che non non stia bloccando e sondando per avere successo nell'interfaccia utente?
Sono sicuro che questo deve venire su altri progetti, come viene solitamente gestito?