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?
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?
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!