Sono alle prese con gli aggregati nel modello degli attori (akka) e come conservare il loro stato. Mi chiedo quale sia il ruolo del repository nel modello di attore in DDD.
Ho una situazione in cui la mia radice aggregata crea un altro aggregato come risultato. Ma internamente, AR crea innanzitutto un attore e quindi invia messaggi aggiuntivi ad esso nel ciclo foreach in modo che il nuovo aggregato appena creato aggiorni il suo stato diverse volte e quindi ho bisogno di memorizzarlo.
1. Stavo pensando di registrare "modifiche non vincolate" in modo aggregato, quindi in questo caso avrei potuto inviare GetUncommittedChanges () a questo aggregato e ricevere i dati richiesti.
2. Il secondo approccio potrebbe essere quello di mantenere il riferimento al repository in forma aggregata, ma sono scettico su questo. Ma il messaggio da aggregare potrebbe essere solo: SaveYourself ()
3. Il terzo approccio è forse il più pulito: che ogni aggregato pubblicherà l'evento e in base a quello che colpisce db più volte? per esempio. AggregateCreated (somedata), AggregateUpdated (additionalData), AggregateUpdated (..) 20 volte ... come gestirlo correttamente?