Вы находитесь на странице: 1из 13

PATRN MVVM (MODELOVISTA-VISTA MODELO

HISTORIA
El 8 de Octubre de 2005, Jhon Gossman, di a conocer un nuevo patrn de diseo de la capa de presentacin, con las siglas MVVM, Model /View /ViewModel a travs de un blog titulado Introduction to Model/View/ViewModel pattern for building WPF apps propuesto por Martin Fowlers para tecnologas .NET, XAML, WPF y Silverlight.

DEFINICIN
MVVM es una evolucin del patrn MVC (Model/View/Controller), intenta facilitar el trabajo en paralelo entre alguien encargado en disear la interfaz de usuario y otra persona encargada de generar el cdigo que la sustentar, con estos a travs de la divisin de ocupaciones.

MVVM a grandes rasgos


Este patrn consta de 3 partes bien diferenciadas

MODEL: es el encargado de representar el modelo del negocio, proveyendo de esta manera la base necesaria para la manipulacin de los datos de la aplicacin. Cabe resaltar que en el modelo, no debera de existir ninguna lgica de negocio o cdigo que afecte a como se visualizan sus datos en pantalla.

View:
Una o ms representaciones para el usuario final del modelo de la aplicacin. La vista es responsable de mostrar los datos al usuario y de permitir la manipulacin de los datos de la aplicacin y tendr que comunicarse con el modelo, para poder cumplir el requerimiento.

ViewModel O Controlador:
Es el encargado de ser la capa intermedia entre el modelo y la vista, procesando todas las peticiones que tenga la vista hacia el modelo, adems de tener que ocuparse de manejar las reglas del negocio, la comunicacin con aplicaciones externas o consumir datos desde alguna fuente (Bases de Datos, Web Services, Sensores, etc.), a dems implementa el comportamiento de la vista para responder a las acciones de los usuarios.

Ventajas

Mayor adaptabilidad a pruebas unitarias. Desacoplamiento de la lgica de la aplicacin y la interfaz de usuario. Posibilidad de reutilizar cdigo. Posibilidad de implementar soluciones parecidas con diferentes UI (multiplataforma). Flexibilidad para cambiar la interfase al usuario en una aplicacin sin tener que reorganizar su lgica. Aporta beneficios en el mantenimiento de las aplicaciones.

Desventajas

Dependiendo de la dimensin de la solucin puede no ser la mejor solucin arquitectnica Al principio cuesta entender bien los conceptos. Una seria desventaja del patrn MVVM es que introduce un mayor grado de complejidad. Hay que escribir ms cdigo de infraestructura. Se requiere ms esfuerzo antes de obtener resultados.

Aplicaciones
Aplicaciones basadas en XAML. Aplicaciones en WINDOWS PHONE. Aplicaciones en SILVERLIGHT. Aplicaciones WEB. Aplicaciones WPF. Aplicaciones en ASP.NET

Knockout.js
http://knockoutjs.com/
es una biblioteca JavaScript, que nos ayuda a implementar este modelo MVVM. Dentro de las caractersticas especiales, tal cual indica en su pgina, nos permite: Realizar Binding Declarativos Refresco automtico de los elementos del UI, como deca, cuando se actualiza el modelovista, nuestra UI se actualiza automticamente Tracking de Dependencias, detecta los cambios realizados en la vista o en el modelo y es capaz de propagarlos . Plantillas, permite generar rpidamente plantillas en funcin de los datos del modelovista. Adems, tal como indica la pgina es totalmente libre, open source, totalmente construido sobre JavaScript, funciona con cualquier framework adicional, es bastante liviano, solo 40k minimizado, no tiene dependencias , soporte para IE6+, Firefox 2+.Chrome, Opera y Safari (versin mvil y de escritorio) y totalmente documentada.

BIBLIOGRAFA

http://maromasdigitales.net/2010/05/patron-mvvm-explicado/ http://fernandomachadopiriz.com/2010/06/09/una-simple-introduccinal-patrn-model-view-viewmodel-para-construir-aplicaciones-silverlight-ywindows-presentation-foundation/

http://cup-coffe.blogspot.com/2012/03/el-patron-model-viewviewmodel-mvvm.html

http://mvpway.wordpress.com/2013/04/10/el-patrn-mvvm/

http://maromasdigitales.net/2010/10/disenoconvergente-en-mvvm-la-vista-y-el-modelo/

Вам также может понравиться