1
resposta

Não compreendi o conceito de VO e Entidade

Segundo o exposto no vídeo o que diferenciaria a entidade aluno seria alguma característica que tornaria aquele objeto único, ou seja posso ter nome, endereço, email, telefone... todos iguais, porém o cpf seria como uma chave que iria diferenciar aquele objeto, ok até ai tudo bem. Nessa situação, não vejo o CPF como diferente de aluno, pois ele tem uma característe que também torna o objeto CPF único, ou seja seu próprio ńumero. Tendo isso em vista, todo e qualquer CPF com número diferente o tornaria um objeto único, como ocorre em Aluno. Poderia esclarecer melhor como posso diferencias esses itens do sistema para que eu possa evitar qualquer confusão?

1 resposta

Hugo, realmente é muito dificil alguns conceitos, ainda mais quando a gente desenvolve pensando em framework ou já tem uma certa experiencia em programação.

Vou colocar aqui um trecho desse artigo ( https://dev.to/guisfits/implementando-domain-driven-design-3d1h) que me ajudou a entender melhor alguns conceitos referente ao bloco de construção do DDD.

"Uma Entity é um objeto que mantém um ciclo de vida independente do seu estado atual. Seus atributos podem mudar, porém podemos sempre identificá-las por algum campo específico, como um CPF, por exemplo

Pensa que o se eu mudar adicionar telefones ou trocar a senha, sempre sei de que aluno se trata graças ao CPF.

Diferentemente da Entity, um Value Object é definido por seus atributos.

Se a gente pegar o exemplo do Telefone. O que difere duas instâncias com o mesmo número? Nada! Eles não mantêm um ciclo de vida, sendo criados, utilizados e descartados!"

Não sei se te ajudei, mas da uma lida nesse artigo que pode melhorar seu entendimento com outros exemplos.

Abraço