Pregunta

Sé que algunos marcos de MVVM que introdujo en este hilo

Por favor, dame describir o vínculo para que lo que ellos son útiles para? No información sobre MVVM sobre Marco MVVM. Gracias :) quiero saber : ¿Qué es MVVM Marco?

¿Fue útil?

Solución

Creo que su pregunta no es muy precisa. Por lo que yo entiendo, que pide las características de cada marco?!

Puede encontrar información detallada aquí y href="http://www.japf.fr/2009/10/a-quick-tour-of-existing-mvvm-frameworks/" rel="nofollow"> aquí . Sin embargo, al menos uno de estos enlaces ya se ha dado en el hilo que ha mencionado ...

EDIT:
Básicamente, un marco MVVM es una colección de clases que se utilizan habitualmente en las aplicaciones que utilizan el MVVM (Model-View-ViewModel) patrón. Esto puede incluir sistemas de mensajería para la comunicación entre partes independientes de un software, las técnicas de inyección de dependencia, las clases base para ViewModels, plantillas de proyecto / clase, mecanismos de validación, los comandos más utilizados, las técnicas para mostrar cuadros de diálogo, y así sucesivamente ...

Para entender completamente este marco, que tendrá que entender el patrón MVVM primero. Porque sólo entonces (o incluso sólo después de que hizo su primer proyecto MVVM) va a tener una comprensión de los problemas y / o desafíos de este patrón.

Otros consejos

Para usar marco MVVM simplemente siga los siguientes pasos:

  1. Usted tiene un modelo y una vista-modelo con el mismo nombre.
No se supone

Vista-modelos para ser envoltorios alrededor de los modelos. El trabajo de un punto de vista en el modelo es a las peticiones de los agentes de servicios externos, tales como la carga y el almacenamiento de datos. Los propios datos, así como la validación y la mayor parte de la lógica de negocio, deben estar en los modelos.

No puedo enfatizar esto lo suficiente. Cada vez que se crea una vista-modelo que se ajusta un modelo por delegación se introduce un enorme agujero en su API. Especialmente, cualquier cosa con una referencia directa al modelo puede cambiar una propiedad de tal manera que la vista-modelo y por lo tanto la interfaz de usuario no son notificados. Del mismo modo, cualquier cambio en los campos calculados en el modelo no se propagarán volver a la vista-modelo.

  1. Usted tiene una visión y una vista-modelo con el mismo nombre.

Lo ideal sería vista-modelos son agnósticos a las pantallas que se utilizan por. Esto es especialmente cierto en una aplicación WPF donde múltiples ventanas pueden estar compartiendo la misma instancia de una vista-modelo.

Para aplicaciones más pequeñas, puede que sólo necesite una sola vista-modelo para toda la aplicación. Para aplicaciones más grandes puede que tenga uno para la funcionalidad principal y uno para cada aspecto secundario, tales como gestión de la configuración.

  1. No tienes detrás de código.

En absoluto detrás código términos no es ni bueno ni malo. Se trata simplemente de un lugar a la lógica puesto que es específica de una única vista o control. Así que cuando veo una vista sin código subyacente en todo lo que de inmediato de verificación para los siguientes errores:

  • ¿El toque los controles específicos vista-modelo por su nombre?
  • ¿Es la vista-modelo figura acceso a los controles a través de un parámetro de comando?
  • ¿Es EventToCommand u otro comportamiento con fugas que se utilizan en lugar de una simple controlador de eventos?

EventToCommand de MVVM Light es especialmente mala, ya que evitará que los controles de ser recolector de basura después de que se retiran de la pantalla.

  1. Ver-modelos están escuchando propiedad notificaciones cambiado

Si un modelo tiene una vida útil más larga que la vista-modelo que escucha a sus eventos a continuación, es probable que tenga una pérdida de memoria. A diferencia de puntos de vista que tienen un evento sin carga, mira-modelos no tienen una buena historia para la gestión del ciclo de vida. Por lo que si que conceden un evento para un modelo que puede triunfar en última ellos, entonces la vista-modelo se filtraron.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top