Domanda

Come approvvigionamento evento può essere combinato con diversi tipi di oggetti dizionario come Country, Region, Time Zone ecc e Dizionario tipi di particolare modello di dominio, come le definizioni Budget o Availability. Alcuni degli oggetti dizionario dovrebbe essere possibile modificare in Admin UI ma alcuni non.

Ad esempio abbiamo deciso, che non abbiamo bisogno di interfaccia utente di amministrazione per i paesi. Quindi non abbiamo bisogno di implementare AddCountry / RemoveCountry comandi.

dovrebbe genero insieme di eventi CountryAdded cioè devo persistere oggetti dizionario come flusso di eventi? abbiamo mai utilizziamo fonte di verità altro flusso di eventi, allora?


Nel caso in cui posso andare senza flusso di eventi per il dizionario di oggetti, come potrai risolvere questo problema:

  

Visualizzazione lista dei paesi con il   numero di utenti in ogni paese.

In questo caso ho bisogno di rappresentazione degli oggetti Country nel modello di lettura con il listener per l'evento UserAdded.

Grazie.

È stato utile?

Soluzione

Se si utilizza il sourcing evento come il meccanismo di persistenza, quindi:

  • flusso di eventi è l'unica fonte di verità (istantanee oggetto generati dal flusso di eventi potrebbe essere utilizzato per migliorare le prestazioni, ma sono solo la tecnica).
  • Quando si utilizza il sourcing evento, non è necessario per generare eventi in modo esplicito - basta pubblicare eventi reali generati durante l'elaborazione del comando
  • .
  • se si dispone di un elenco predefinito di Paesi, che non sono mai sta per cambiare, si può solo hard-code e riferimento dai loro codici di paese. Tuttavia, questo implica che il modello vista e interfaccia utente sa di questo e paesi non cambieranno.

A proposito vi consiglio di inviare domande come queste a DDD / CQRS gruppo . E 'il più comunità attiva sulle questioni di CQRS / DDD / ES.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top