Come modellare le Radici Aggregate per questo sistema di eventi musicali?

4

Diciamo che sto modellando un sistema di eventi musicali.

Ho:

  • eventi musicali
  • elencare gli eventi (gli elementi di una scaletta) - un evento di quotazione ha degli atti (gli artisti che giocano in un articolo nella scaletta - possono essere collaborazioni)
  • artisti (gli artisti che compongono un atto)

Se dovessi dire che ognuno di questi era un AR - in effetti hanno identità.

Quando si carica il mio evento musicale, AR vuol dire che per poter lavorare con gli eventi di elencazione al suo interno dovrebbero essere oggetti valore?

Quando si carica un evento di elenco - lascia che sia un oggetto valore perché ho bisogno di caricarlo da solo - Voglio modificare gli atti all'interno di quell'evento di elenco - vuol dire che gli atti devono essere oggetti valore?

Non posso avere questo come un albero enorme

  • a) alcuni di questi eventi sono huuuuuge
  • b) gli artisti suonano in molti eventi - non credo di voler duplicare quei dati? O io? potrebbe essere ok ... hmmm

Che cosa pensa qui? come dovrebbe essere modellato? Anzi - (e so che è malvagio pensare a questo) come si manterrebbe un albero così grande in qualcosa come Postgres? se faccio il blob di tutti i dati di valore, perdo la possibilità di interrogare quei dati ... Quindi è nel mio interesse avere questi dati nelle tabelle in cui è indice-in grado.

Non voglio seguire la rotta CQRS / ES completa con i modelli di lettura per l'interrogazione. Come posso gestire al meglio questi dati correlati in modo DDD?

    
posta iwayneo 11.12.2014 - 16:49
fonte

1 risposta

1

Qui, MusicEvent è il può avere molte EventListings ogni EventListing può avere più EventListingArtists

Tuttavia EventListingArtist è collegato a Artist come riferimento

Quando si tratta di persistere, questo dovrebbe essere abbastanza buono per le tue esigenze, anche se hai un evento con un gran numero di elenchi. L'unico trucco consiste nell'utilizzare query ottimizzate durante il recupero dei dati.

    
risposta data 19.01.2015 - 07:42
fonte

Leggi altre domande sui tag