Dopo aver letto il libro; Ho capito quanto segue:
1) Le entità dovrebbero implementare l'uguaglianza e confrontare per ID. 2) Gli oggetti valore dovrebbero implementare l'uguaglianza e confrontare tutte le proprietà nella classe.
Credo ancora che la mia comprensione del secondo punto sia corretta. Tuttavia, sono confuso circa il punto uno a causa di quanto segue:
1) Questo blogger parla della creazione di una classe base di entità, che tutte le entità ereditano da: link . Pertanto tutte le entità implementano l'uguaglianza per ID perché i confronti di uguaglianza sono definiti nella classe base.
2) La maggior parte delle classi di entità qui ha ID: link
3) Questa domanda sembra suggerire di avere un attributo ID: ID proprietà sugli oggetti Dominio in DDD
4) Questa domanda rimanda a un video di YouTube (punto uno) in cui si sostiene che le entità non dovrebbero avere ID.
I punti 1-4 sopra sembrano suggerire: 1) utilizzare un ID di database; 2) utilizzare un altro ID che non sia l'ID del database; 3) Usa nessun ID.
Sto cercando di decidere se:
1) Avere una superclasse di entità.
o 2) Avere un ID (dal database) in ogni entità.
o 3) Introdurre un identificatore (non l'ID del database) che identifica gli oggetti del dominio.
Sto cercando di isolare completamente il modello di dominio (ho anche un modello di dati).