MVVM - Ventajas
El patrón MVVM es, en última instancia, la estructura moderna del patrón MVC, por lo que el objetivo principal sigue siendo el mismo: proporcionar una separación clara entre la lógica del dominio y la capa de presentación. Estas son algunas de las ventajas y desventajas del patrón MVVM.
El beneficio clave es permitir una verdadera separación entre la Vista y el Modelo más allá de lograr la separación y la eficiencia que obtiene al tener eso. Lo que eso significa en términos reales es que cuando su modelo necesita cambiar, se puede cambiar fácilmente sin que la vista tenga que hacerlo y viceversa.
Hay tres cosas clave importantes que se derivan de la aplicación de MVVM, que son las siguientes.
Mantenibilidad
Una separación limpia de diferentes tipos de código debería facilitar el acceso a una o varias de esas partes más granulares y enfocadas y realizar cambios sin preocuparse.
Eso significa que puede permanecer ágil y seguir avanzando hacia nuevos lanzamientos rápidamente.
Probabilidad
Con MVVM, cada pieza de código es más granular y, si se implementa correctamente, sus dependencias externas e internas están en piezas de código separadas de las partes con la lógica central que le gustaría probar.
Eso hace que sea mucho más fácil escribir pruebas unitarias contra una lógica central.
Asegúrese de que funcione correctamente cuando esté escrito y siga funcionando incluso cuando las cosas cambien en el mantenimiento.
Extensibilidad
A veces se superpone con la capacidad de mantenimiento, debido a los límites de separación limpios y las piezas de código más granulares.
Tiene más posibilidades de hacer que cualquiera de esas piezas sea más reutilizable.
También tiene la capacidad de reemplazar o agregar nuevas piezas de código que hacen cosas similares en los lugares correctos de la arquitectura.
El propósito obvio del patrón MVVM es la abstracción de la Vista, lo que reduce la cantidad de lógica empresarial en el código subyacente. Sin embargo, a continuación se presentan algunas otras ventajas sólidas:
- ViewModel es más fácil de probar unitariamente que el código subyacente o el código controlado por eventos.
- Puede probarlo sin una compleja interacción y automatización de la interfaz de usuario.
- La capa de presentación y la lógica están débilmente acopladas.
Desventajas
- Algunas personas piensan que para las IU simples, MVVM puede ser excesivo.
- De manera similar, en casos más grandes, puede ser difícil diseñar ViewModel.
- La depuración sería un poco difícil cuando tenemos enlaces de datos complejos.