Boas Praticas com DTO

3 respostas Resolvido
jpa
A

Bom dia Pessoal,

Qual a melhor pratica para para DTO, tanto em JPA como em JDBC.
Por exemplo no meu modelo de Entidades tenho um objeto Pedido que tem dois objetos (Fornecedor e Empresa Aninhados). No caso dos meus DTO`, devos trazer os atributos desses sub-objetos (RazaoSocial, Telefone do fornecdor) para o meu DTO de Pedidos? Simplicando: desnormalizar meus objetos para tornar-los mais simples para apresentacao?

3 Respostas

javaflex

A regra é simples, o DTO deve representar a estrutura do resultado esperado. Se por exemplo uma tela só precisa de razao social e telefone, crie um DTO só pra isso.

Não precisa desse overhead de modelo de entidades no seu programa. O importante é o modelo de entidades do banco de dados, onde você pode consultar diretamente via SQL e preencher seu DTO. Quanto mais desnormalizado trazer do banco, menor as idas no mesmo, por consequência melhor performance.

A

Faz sentido. E o DTO deve ser criado para um fim especifico? Explicando melhor, tenho telas em que apresento o pedido como variações pequenas nos dados (apenas alguns atributos).
Ex tosco:

PedidoEmpDTO {
nroPedido, nomeFornecedor}

PedidoFornDTO {
nroPerdido, nomeEmp}

ou crio um DTO “Generico”

PedidoDTO {
nroPedido, nomeForn, nomeEmp } … simplesmente deixando null os atributos que nao uso?

javaflex
Solucao aceita

Fica a seu critério, ai vale o bom senso. No geral eu prefiro não misturar responsabilidades, pra manutenção da query e dto de uma tela nao impactar na outra.

Criado 16 de março de 2020
Ultima resposta 16 de mar. de 2020
Respostas 3
Participantes 2