Pregunta

He leído varios buenos artículos sobre el patrón Model-View-ViewModel y mi equipo tiene la intención de implementar este patrón en la última versión de nuestra aplicación. Todavía no entiendo TODAS las partes que van juntas para que esto funcione. Me gustaría encontrar un buen ejemplo de este patrón en el que pueda trabajar. Algo a pequeña escala, al igual que Jason Dolinger en su video aquí , pero me gustaría algo que puedo resolver por mi cuenta a un ritmo más lento.

Gracias de antemano por su ayuda.

¿Fue útil?

Solución

Básicamente, un ViewModel es un modelo envolvente. Ahora, eso podría no ser muy útil todavía :-) Piense en el modelo como los datos con los que trabaja su aplicación, digamos una persona. Ahora una persona cumple años y es posible que desee tener un formulario para ingresar el cumpleaños de la persona. Supongamos que estamos usando un cuadro de texto simple, la fecha se muestra como 01-02-2009 12:00:00 AM. Para empezar, no queremos la parte del tiempo y es posible que tampoco estemos contentos con la parte del 01-02-2009, ya que esto depende de la configuración de su ubicación.

Entonces aquí viene el ViewModel im. Envuelve la clase Persona y expone la fecha como tres valores enteros, año, mes y día. En el conjunto de propiedades, intenta crear una fecha a partir de los diferentes valores y muestra los errores que puedan ocurrir.

Entonces, simplemente dijo que un ViewModel es un contenedor de Modelo específicamente dirigido a una vista (pantalla) en particular. Elimina la mayoría de los IValueConvertors al mismo tiempo.

Josh Smith tiene una buena explicación aquí: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages y una gran discusión aquí: < a href = "http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1" rel = "noreferrer"> http://groups.google.com/group/wpf- Discípulos / Browse_thread / thread / 3fe270cd107f184f? pli = 1

Otros consejos

Prism 4.0 ahora incluye documentación para crear aplicaciones MVVM. Está destinado a utilizar las bibliotecas Prism, pero los conceptos funcionan para el patrón MVVM en general.

http://compositewpf.codeplex.com/releases

Aquí hay uno más para agregar a la lista: Simple MVVM Toolkit de Tony Sneed (el suyo verdaderamente): http: // simplemvvmtoolkit. codeplex.com .

El kit de herramientas consta de clases auxiliares, plantillas de elementos de Visual Studio y fragmentos de código. Además del kit de herramientas real, hay una aplicación de muestra con instrucciones paso a paso sobre cómo construir una aplicación Silverlight básica usando el patrón MVVM.

Nikhil Kothari tiene una publicación sobre cómo usar ese patrón con su biblioteca Silverlight.FX. Compruébelo aquí: http://www.nikhilk.net/ViewModel-Pattern-DLR .aspx

He pasado por muchos recientemente, los dos que se destacan son:

Dan Wahlin (LIDNUG):

http://www.lidnug.org/Archives.aspx

John Papa's (PDC 2010):

http://player.microsoftpdc.com/Session/76864d75 -b4da-4858-aac7-786c5f28e344

Scott Hanselman dio la mejor explicación de un ViewModel durante su charla MVC en Europa.

Una respuesta de una línea es: es un modelo (clase) creado con el único propósito de enviar todos los datos necesarios que necesita una Vista en particular y también para recibir datos modificados de la Vista en caso de dos enlaces de manera.

Eche un vistazo a mi artículo sobre MVVM en la vida real en Silverlight. Aunque no es para los recién llegados, y está dirigido principalmente a desarrolladores expertos que trabajan en proyectos de la vida real.

http: //alexburtsev.wordpress .com / 2011/03/05 / mvvm-pattern-in-silverlight-and-wpf /

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