La identitat d'un objecte valor és el seu valor i no pas ell mateix:
A value object's identity is its value
En canvi les entitats tenen identitat pròpia.
La interpretació de si un objecte és una entitat o un value object depèn del domini o de com s'utilitzi es vegi l'objecte. Un exemple és un bitllet. Des de la perspectiva més habitual el podríem considerar un value object per que el que identifica un bitllet és el seu valor (bitllet de 5€, 20€, etc.). En vanci vist des de una perspectiva gubernamental potser la identificació del bitllet podria ser el seu codi.
Més exemples:
Aquest tipus d'objectes tenen un identificador i pel fet de canviar valors de les seves propietats no perden la seva identitat (continuen sent els mateixos objectes modificats). Des de la perspectiva de base de dades sovint una entitat representa una taula i cada objecte del tipus de la classe/entitar té un identificador que pot ser l'id intern de la base de dades com un altre identificador. Les classe tipus entitat si tenen persistència per exemple en sistemes ORM com Eloquent acabaran sent un model Eloquent.
Els value object no tenen per què ser classes "estupides" ja que poden tenir igualment comportament/behaviour. Per exemple un email address per exemple pot tenir funcions o mètodes de validació, un constructor que comprovi que el format sigui correcte i sinó tiri un IllegalArgumentException.
Recursos:
https://laracasts.com/lessons/enforcement-entities-and-eloquent
https://laracasts.com/lessons/entities-versus-value-objects https://laracasts.com/series/whip-monstrous-code-into-shape/episodes/6