Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Boas práticas DTOs

Bom dia, boa tarde e boa noite!

Surgiram algumas dúvidas sobre as boas práticas no uso de DTOs.

1- Em projetos maiores, onde o DTO pode conter informações de mais de um objeto mais complexo, é uma má prática enviar o DTO para a camada de serviço? Ou é uma boa prática convertermos o DTO em modelos reais, para aí assim passarmos para a camada de serviço?

2- É uma má prática a camada de serviço retornar diretamente o DTO de response? Ou devemos retornar o modelo, e como no exemplo do curso, passamos o modelo no construtor e ele já nos retorna um DTO populado.

3- Só para confirmar, nenhuma regra de negócio deve ser colocada nos DTOS, correto? Tratamos essas regras diretamente na entidade.

Desde já agradeço a ajuda, e caso vocês saibam algum material em que possa me aprofundar no assunto, ficarei muito agradecido.

Abraço!

1 resposta
solução!

Oi Felipe,

Entenda que, no nosso contexto, as classes dto's e form's fazem parte da camada Web, juntamente com os controller's.

Então eu não acho legal receber/retornar tais objetos em classes service, que fazem parte da camada de domínio da aplicação, pois essa camada deveria estar desacoplada da camada web.

Também não é recomendado ter regras de negócio nessas classes da camada web, apenas regras de formatação/exibição/fluxo de dados.

Como recomendação de estudos sugiro ler sobre padrões de arquitetura, tais como Clean Architecture e Domain Driven Design, pois ajudam bastante a entender sobre essa separação da camada de domínio da aplicação.

Bons estudos!