DRY x Segurança e Manutenção com MVC e View Models

Eu gosto de lutar por DRY, e obviamente nem sempre é possível. No entanto, eu tenho que coçar a cabeça sobre um conceito que parece bastante comum no MVC, o do "View Model".

O Modelo de Visão foi projetado para transmitir apenas a quantidade mínima de informações à visão, tanto para questões de segurança, manutenção quanto de teste. Entendi. Faz sentido.

No entanto, de uma perspectiva DRY, um modelo de exibição está simplesmente duplicando os dados que você já possui. O View Model pode ser temporário e usado apenas como DTO, mas você basicamente mantém duas versões diferentes do mesmo modelo que parecem violar o princípio DRY.

Os modelos de exibição violam o DRY? Eles são um mal necessário? Eles fazem mais bem do que mal?

questionAnswers(2)

yourAnswerToTheQuestion