Sobre DTOs em java
Olá, tenho bastantes duvidas sobre DTOs e como organizar eles, o chatGpt fala algo, depois volta atras e fala outra, acredito quue uma discussão aqui ajudaria muito a aprender. minhas perguntas iniciais são:
- é algo "bem visto" criar varios DTOs de uma mesma classe para diferentes partes do sistema?
- onde eu coloco o "toDTO" de uma classe? eu colocaria num Service ou no construtor do DTO, qual é a mais seguida?
- para trazer de volta um UserDto em User, eu só passo os atributos do DTO pro user e deixo alguns campos como o da senha e email vazio, ou eu uso algum parametro do dto como referencia para buscar um User la no banco de dados?
- para referenciar classes de dominios (as que estão lá no banco de dados) eu coloco diretamente uma Instancia dentro da classe(numa classe Post colocar a classe User, que vem com senha e tudo) ou coloco um Dto dentro da classe de dominio para representar a User (com bancos de Dados NOSql, que é a agregados)
essas foram as perguntas mas eu gostaria de saber num geral mesmo sobre os DTOs, até que eu conseguir usá-los numa boa, agradeço a paciencia.