1
resposta

[Dúvida] Mappers

Por que é necessário criar 2 classes - uma viewMapper e formMapper? Não poderia criar uma classe TopicoMapper, com uma método viewMapper e outro formMapper?

1 resposta

Oi Carolina!

Entendo sua dúvida sobre a necessidade de criar duas classes distintas para mapeamento, como viewMapper e formMapper. A ideia por trás dessa separação é seguir um padrão de design que melhora a organização e a manutenção do código.

Ao criar duas classes separadas, você está respeitando o princípio da responsabilidade única, que é um dos princípios do SOLID. Isso significa que cada classe tem uma única responsabilidade, tornando o código mais modular e fácil de manter. Por exemplo, se você precisar alterar a forma como os dados são mapeados de Topico para TopicoView, você só precisa modificar o TopicoViewMapper. Da mesma forma, alterações na conversão de NovoTopicoForm para Topico afetariam apenas o TopicoFormMapper.

Além disso, ao separar essas classes, você pode evitar a complexidade de ter uma classe única com múltiplas responsabilidades. Isso facilita a leitura e o entendimento do código, especialmente em projetos maiores.

Claro, tecnicamente, você poderia ter uma única classe TopicoMapper com métodos diferentes para cada tipo de mapeamento. No entanto, isso pode levar a uma classe que faz muitas coisas, o que pode dificultar a manutenção e a evolução do código ao longo do tempo.

Espero ter ajudado e bons estudos!