Ho avuto questa idea di diversi modelli di scrittura utilizzati in diversi contesti limitati, ma entrambi sono la stessa istanza aggregata (gli stessi eventi).
Ad esempio, considera un aggregato Utente che viene utilizzato nei contesti Amministrazione e Utente (ovvero le parti di amministrazione e dell'interfaccia utente dell'applicazione). E il modello di dominio dice che l'utente (nel contesto Utente) non può fare alcuna azione su se stesso (cambiare email, cambiare password, cambiare indirizzo, qualunque cosa) a meno che non sia loggato (che è l'unica azione che gli è permessa di fare se non loggato).
Nel contesto amministrativo, tuttavia, l'azione non richiede che l'utente effettui l'accesso (in pratica, un amministratore può modificare i dettagli dell'utente a suo nome).
Questo può essere modellato con Event Sourcing come una singola istanza di aggregazione (stesso ID), ma a seconda del contesto un modello di oggetto diverso verrebbe creato dagli eventi? Ad esempio, nel contesto di amministrazione, il modello non verifica che l'utente abbia effettuato l'accesso, ma nel contesto dell'utente, il modello lo fa. In questo modo gli eventi sarebbero condivisi tra i contesti.
Questa è una buona idea? Posso annusare alcuni problemi ma non ne sono completamente sicuro.