Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida DadosEpisodio e Episodio

Bom dia! No começo do curso tinha ficado claro o motivo da criação das classes e records.

Agora como já está gravando no banco, a minha dúvida é se seria realmente necessário ter as 2 classes: DadosEpisodio e Episodio. Não daria pra usar apenas a classe Episodio agora?

2 respostas
solução!

Oi Sergio,

Você fala de abandonar a classe DadosEpisodio e passar a utilizar diretamente a entidade Episodio?

Daria sim, mas nem sempre é uma boa opção. O recurso que é utilizado no curso é o padrão de projeto DTO (Data Transfer Object) e, existem diversas vantagens em utilizar esse padrão de projeto, desde segurança, manutenibilidade a desempenho.

No caso do curso, a entidade Episódio é uma classe bem pequena e com pouca informação. Mas imagine em um projeto grande, onde essa entidade poderia ter 20 atributos diferentes... Se você sempre utilizasse diretamente a entidade para responder o seu cliente, estaria sempre expondo os 20 atributos da classe. Imagine que o front-end da aplicação está pedindo dados de 2 atributos da entidade. Seria melhor prática retornar apenas o que o foi pedido, em vez de todos os dados da entidade. O padrão DTO é como preparar um pacote específico para atender exatamente o que o cliente precisa, tornando a transmissão mais eficiente e segura. Ele não só serve para responder como também para receber dados do cliente, funcionando como uma camada a mais de segurança contra ataques de manipulação de dados.

  • Menor exposição de dados
  • Menor demanda de rede
  • Menor acoplamento com a camada de persistência
  • Evita over-fetching e under-fetching
  • Evita serialização cíclica
  • Maior manutenibilidade
  • Segurança (Ex: mass assignment attack)

No curso não fica tão evidente a utilidade desse padrão de projeto por causa do escopo. Daria sim para abandonar o DadosEpisodio, mas utiliza-lo é uma boa prática.

Espero que tenha entendido e sanado a sua dúvida. Se foi útil pra você marca como solução. Bons estudos!

Bom dia, obrigado pelas explicações Mateus.