MVVM - Vantagens
O padrão MVVM é, em última análise, a estrutura moderna do padrão MVC, portanto, o objetivo principal ainda é o mesmo: fornecer uma separação clara entre a lógica do domínio e a camada de apresentação. Aqui estão algumas das vantagens e desvantagens do padrão MVVM.
O principal benefício é permitir a verdadeira separação entre a Visualização e o Modelo, além de alcançar a separação e a eficiência que você ganha com isso. O que isso significa em termos reais é que quando seu modelo precisa ser alterado, ele pode ser alterado facilmente sem a necessidade de visualização e vice-versa.
Existem três coisas importantes que fluem da aplicação do MVVM, que são as seguintes.
Capacidade de Manutenção
Uma separação clara de diferentes tipos de código deve tornar mais fácil ir para uma ou várias dessas partes mais granulares e focadas e fazer alterações sem se preocupar.
Isso significa que você pode permanecer ágil e avançar para novos lançamentos rapidamente.
Testabilidade
Com o MVVM, cada parte do código é mais granular e, se for implementado corretamente, suas dependências externas e internas estarão em partes separadas do código das partes com a lógica principal que você gostaria de testar.
Isso torna muito mais fácil escrever testes de unidade em uma lógica central.
Certifique-se de que funciona bem quando escrito e continua funcionando mesmo quando as coisas mudam na manutenção.
Extensibilidade
Às vezes, ele se sobrepõe à capacidade de manutenção, por causa dos limites de separação limpos e partes mais granulares do código.
Você tem uma chance melhor de tornar qualquer uma dessas peças mais reutilizável.
Ele também tem a capacidade de substituir ou adicionar novos pedaços de código que fazem coisas semelhantes nos lugares certos na arquitetura.
O propósito óbvio do padrão MVVM é a abstração do View, que reduz a quantidade de lógica de negócios no code-behind. No entanto, a seguir estão algumas outras vantagens sólidas -
- O ViewModel é mais fácil de testar a unidade do que code-behind ou código orientado a eventos.
- Você pode testá-lo sem interação e automação de IU inadequada.
- A camada de apresentação e a lógica são fracamente acopladas.
Desvantagens
- Algumas pessoas pensam que, para interfaces de usuário simples, MVVM pode ser um exagero.
- Da mesma forma, em casos maiores, pode ser difícil projetar o ViewModel.
- A depuração seria um pouco difícil quando temos ligações de dados complexas.