Con la llegada del Visual Studio 2008 y el cada vez más popular framework WPF (Windows Presentation Foundation), el uso del patrón MVVM para el desarrollo de aplicaciones se ha hecho prácticamente indispensable. Actualmente ya existen varios frameworks MVVM, algunos de ellos son de código libre, como por ejemplo Cinch.
La máxima del patrón MVVM es la separación de las capas de presentación y negocio. Esto se consigue con el nuevo lenguaje declarativo llamado XAML que permite establecer el binding entre los elementos visuales y los elementos del dominio, en nuestro caso las propiedades de las clases. Así, imaginemos que queremos enlazar un atributo de la clase que represente el nombre del empleado con la caja de texto que al iniciar la aplicación se muestre el nombre. En Windows Forms deberíamos crear el manejador de evento de carga del formulario, declarar la instancia de nuestra clase Empleado, e inicializar el valor de la propiedad Text de la caja de texto. Sin embargo en WPF, basta con escribir una instrucción en XAML que enlace nuestra caja de texto con el atributo. Lo mejor de todo es que al modificar el valor del texto, también se actualizará el valor del atributo que representa el nombre del empleado, y al revés.


