È possibile "identificare" oggetti valore con i loro valori! Tuttavia, sono immutabili. Due oggetti con valore identico hanno lo stesso valore. Se vuoi un altro valore, basta crearlo - non devi dirlo a nessuno. Di per sé, i valori non vengono catturati autorevolmente; non rappresentano lo stato del sistema.
Generalmente non cataloghiamo i soli valori da soli in un database (tabella), perché la chiave / identità di tale valore sarebbero tutti i suoi attributi. (E anche perché cosa metteresti nella tabella: tutti i valori possibili?) L'utilizzo di un valore simile da un'altra tabella non farebbe che ripetere l'intera cosa nella chiave esterna.
Un'entità, d'altra parte è un'associazione (generalmente mutevole) di un'identità stabile e altri valori (e / o altre entità, ad esempio i loro valori di identità).
I valori non significano nulla da soli, mentre le entità fanno affermazioni o affermazioni di fatto sul disco, che c'è questa cosa che al momento è registrata per avere questi particolari attributi. Tali dichiarazioni vengono raccolte e acquisite e compongono nello stato del sistema.
Prendendo come esempio un punto, espandiamolo per includere un colore. Ora possiamo considerare uno di questi punti colorati come un semplice valore nello spazio di tutti i possibili punti colorati, trattati come tali che fanno di un punto colorato un valore.
Oppure, possiamo considerare un punto colorato come un'identità di punto associata a un particolare colore - come una questione di record - come una questione di stato del sistema acquisito - che viene catturato da un'autorità designata .
Un'autorità come una particolare tabella in un particolare database, o una collezione in memoria o altra struttura dati destinata a questa cattura, come una tela.
La differenza è se stiamo catturando autorevolmente tale punto colorato come una dichiarazione di registrazione, il che significa che se dico che questo punto 1,2 ha questo colore, blu, allora qualsiasi altro colore per quel particolare punto dovrebbe essere considerato falso - o- richiederebbe un cambio in stato del sistema di registrazione.
Trattata in questo modo, il punto colorato è un'entità, perché stiamo acquisendo il valore corrente dell'entità. Data un'autorità, possiamo chiedere: qual è il colore corrente di 1,2? Non possiamo farlo solo con semplici valori - non c'è autorità da chiedere!
Inoltre, un altro colore per lo stesso punto non può coesistere simultaneamente, quindi assegnare un altro colore a quell'entità richiede un aggiornamento formale (transazionale) allo stato di sistema autorevole e formalmente acquisito.
In breve, un punto colorato è solo un valore a meno che non si trovi nel contesto di un'autorità che acquisisce il colore corrente delle entità punto.
Is a point drawn on a canvas considered an entity in domain driven design?
Sì, se consideri la tela un'autorità e un sistema di registrazione che, dalla prospettiva DDD, comunica con il mondo al di fuori del contesto limitato riguardo alle identità dei punti, come la loro radice aggregata in una tela comune, o come più tele collegate ad altre radici aggregate.
Ogni punto è concettualmente un'entità sulla tela, ma ciò non significa necessariamente che ogni punto debba essere manifestato come istanza dell'oggetto: ci sono molte possibili (migliori) implementazioni.