Executando verificação de segurança...
1

Eu praticamente respondi em https://pt.stackoverflow.com/q/362345/101.

DTO, como o próprio nome diz, é um objeto com dados sendo transferidos entre memória e persistência. Ele costuma ser uma classe com todos os campos de um modelo e geralmente não tem comportamentos, só estado. Pode ser grande e complexo e não costuma ter identidade, ou seja, se mudar algo nele, tudo bem, continua sendo o mesmo objeto, portanto semântica típica de referência. Por exemplo, um cliente ou produto poderiam ser representados em determinado momento da aplicação com o DTO. É um objetivo de mecanismo.

Value Object é algo bem mais simples e que representa um valor único, por exemplo um telefone, um e-mail, uma quantidade. Ele tem identidade e mudar alguma coisa nele passa ser outro objeto, portanto semântica típica de valor. Nas linguagens que permitem, de fato ele é por valor e não uma classe. Há casos que pode ter comportamento.

Isto pode ajudar entender embora não seja a mesma coisa: https://pt.stackoverflow.com/q/16181/101. Há uma relação conceitual entre a classe e o DTO e a estrutura e o VO, não que elas precisam estar ligadas, até porque tem linguagem que sequer tem struct.

Model sem contexto, sem um complmento da expressão fica complicado dizer, pode não ter tanta relação.

Algumas pessoas vão usar isso como o agregador de entidades e value objects. Ou seja, precisaria entrar em um capítulo de um livro para explicar todas as relações, já que esses termos não têm tanta relação assim.

Pode estar usando o model como a definição da entidade e a relação do DTO é um intermediário entre a entidade e a comunição externa à aplicação.

Eu não trataria essas coisas como camadas. Eveuntualmente elas se relacionam, mas não vejo como camadas. E se fizer provavelmente está fazendo over engineering.

Faz sentido para você?

Espero ter ajudado.

Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...