MVVM - Marcos

En este capítulo, analizaremos los kits de herramientas o marcos de MVVM que están disponibles. También puede usar estos marcos para no tener que escribir un montón de código repetitivo para implementar el patrón MVVM usted mismo. Estos son algunos de los marcos más populares:

  • Prism
  • Luz MVVM
  • Caliburn Micro

Prisma

Prism proporciona orientación en forma de muestras y documentación que lo ayudan a diseñar y crear aplicaciones de escritorio de Windows Presentation Foundation (WPF) ricas, flexibles y fáciles de mantener. Aplicaciones de Internet enriquecidas (RIA) creadas con el complemento del navegador Microsoft Silverlight y las aplicaciones de Windows.

  • Prism utiliza patrones de diseño que incorporan importantes principios de diseño arquitectónico, como la separación de preocupaciones y el acoplamiento flexible.

  • Prism le ayuda a diseñar y crear aplicaciones utilizando componentes poco acoplados que pueden evolucionar de forma independiente, pero que pueden integrarse fácil y sin problemas en la aplicación general.

  • Estos tipos de aplicaciones se conocen como aplicaciones compuestas.

Prism tiene varias funciones listas para usar. A continuación se muestran algunas de las características importantes de Prism.

Patrón MVVM

Prism tiene soporte para el patrón MVVM. Tiene una clase Bindablebase similar a la que se implementó en los capítulos anteriores.

Tiene un ViewModelLocator flexible que tiene convenciones, pero le permite anular esas convenciones y conectar declarativamente sus Vistas y ViewModels de una manera poco acoplada.

Modularidad

Es la capacidad de dividir su código en bibliotecas de clases totalmente acopladas libremente en partes y unirlas en tiempo de ejecución en un todo cohesivo para el usuario final, mientras que el código permanece completamente desacoplado.

Composición / regiones de la interfaz de usuario

Es la capacidad de conectar vistas en contenedores sin la Vista la que está haciendo la conexión, necesitando tener una referencia explícita al contenedor de IU en sí.

Navegación

Prism tiene funciones de navegación que se superponen a las regiones, como navegación hacia adelante y hacia atrás y la pila de navegación que permite que sus modelos de vista participen en el proceso de navegación directamente.

Comandos

Prism tiene comandos, por lo que tienen un comando delegado que es muy similar al MyICommand que hemos usado en capítulos anteriores, excepto que tiene algo de robustez adicional para protegerlo de pérdidas de memoria.

Eventos de Pub / Sub

Prism también es compatible con eventos Pub / Sub. Estos son eventos débilmente acoplados en los que el editor y el suscriptor pueden tener diferentes tiempos de vida y no es necesario que tengan referencias explícitas entre sí para comunicarse a través de eventos.

Luz MVVM

MVVM Light es producido por Laurent Bugnion y lo ayuda a separar su vista de su modelo, lo que crea aplicaciones que son más limpias y fáciles de mantener y extender.

  • También crea aplicaciones probables y le permite tener una capa de interfaz de usuario mucho más delgada (que es más difícil de probar automáticamente).

  • Este conjunto de herramientas pone especial énfasis en abrir y editar la interfaz de usuario en Blend, incluida la creación de datos en tiempo de diseño para permitir que los usuarios de Blend "vean algo" cuando trabajan con controles de datos.

Caliburn Micro

Este es otro pequeño marco de código abierto que lo ayuda a implementar el patrón MVVM y también es compatible con una serie de cosas listas para usar.

  • Caliburn Micro es un marco pequeño pero potente, diseñado para crear aplicaciones en todas las plataformas XAML.

  • Con un fuerte soporte para MVVM y otros patrones de UI probados, Caliburn Micro le permitirá construir su solución rápidamente, sin la necesidad de sacrificar la calidad del código o la capacidad de prueba.