Rapporti aggregati in Domain Driven Design

1

Ho una domanda relativa alle relazioni tra aggregati in Domain Driven Design.

Ho la seguente situazione: ho un aggregato (questionario) che ha alcuni bambini (domande). Le domande sono entità, ma poiché si trovano all'interno del questionario aggregato, possono avere identità locali (vale a dire la domanda con ID 1 nel questionario con ID 1234; posso avere un'altra domanda con ID 1 ma in un altro questionario). Quindi per fare riferimento a una domanda devi sempre qualificarla con il suo id del questionario principale.

Dall'altro lato ho un altro aggregato (campagna di raccolta) che memorizza i dati (insieme di risposte) per le domande in un questionario (la campagna di raccolta punta al questionario per mezzo del suo id, e una serie di risposte fa nuovamente riferimento a una domanda il suo id). Posso avere diverse campagne di raccolta (che si sono svolte in momenti diversi forse) e ogni campagna di raccolta memorizza diversi gruppi di risposta, ma per lo stesso questionario (e domande).

Quindi la mia domanda è: ho progettato questo bene (secondo DDD)? O devo tenere il questionario e le domande come aggregati separati di se stessi per poter fare riferimento a questi dalla campagna raccolta / set di risposte?

Spero che abbia senso e grazie.

    
posta Eduard Popescu 11.02.2017 - 13:24
fonte

1 risposta

0

Penso che vada bene, anche se dovresti considerare la campagna come membro dello stesso aggregato. Altrimenti, se elimini un questionario, la campagna diventa orfana. Una campagna non può sopravvivere senza il suo questionario. Anche l'utilizzo degli ID delle domande locali sarebbe un adattamento più pulito se fa parte dello stesso aggregato.

    
risposta data 11.02.2017 - 14:32
fonte

Leggi altre domande sui tag