Notei que a classe LoginViewModel, assim como a classe AgendamentoViewModel do curso anterior, "copiam" as propriedades das classes de domínio Login e Agendamento, respectivamente.
Imagino que isso seja para evitar o binding direto das propriedades dos Modelos nas Views, ou seja, evitar o acoplamento entre as Views e os Modelos. Mas, ao meu ver, isso não deixa de ser uma replicação de código.
Essa é realmente a maneira mais correta de implementação? Não teria uma forma mais prática de implementar sem replicar código e, ao mesmo tempo, evitar o acoplamento entre View e Modelo?