Nel corso Pluralsight Domain-Driven Design Fundamentals, c'è un esempio di come prende forma la progettazione di un aggregato. L'esempio comprende gli appuntamenti del paziente in una clinica. L'appuntamento ha relazioni ad es. da un medico o da una sala d'esame. E l'esempio è preceduto da un'analisi che conclude che l'appuntamento non deve essere una radice aggregata per Doctor and ExamRoom. E un passo nell'evoluzione del design sta passando dall'appuntamento avente riferimenti a oggetti Doctor ed ExamRoom, a contenere gli ID primitivi di queste altre entità, DoctorId ed ExamRoomId. Essi motivare questo cambiamento dicendo: "Semplicemente compresi gli ID dei concetti relativi, piuttosto che i riferimenti agli oggetti siamo in grado di garantire che la creazione e la modifica appuntamento ha un impatto minimo sul nostro sistema quando persistiamo nostro appuntamento"Riferimento oggetto vs riferimento per ID in aggregati DDD
La mia prima domanda: si tratta di un modello di progettazione comune? Se lo capisco correttamente, si generalizza a qualcosa di simile: Se l'oggetto A si riferisce all'oggetto B, ma l'operazione su A non dovrebbe mai comportare l'esecuzione di modifiche su B, quindi fare riferimento ad esso con il suo id, non con B stesso. È qualcosa che consiglieresti?
La mia seconda domanda: ha qualcosa a che fare con DDD? Intendo il fatto che l'appuntamento non dovrebbe essere una radice aggregata del medico, non significa che non possa contenere riferimenti a oggetti o mi manchi qualcosa?
aveva già questa stessa domanda e le tre serie di design aggregato di Vaughn fanno luce. Ma sto rivisitando l'argomento per conoscere le alternative e quando è ok per infrangere la regola :) –