Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/05/2017, 12:39
agleiva
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: Explicación MVVM con WPF

Ok a ver... hay muuuuucho para hablar de este tema. Voy a comenzar por decir que MVVM es un patrón y NO una regla. Es decir, no hay una única manera de implementarlo y dependiendo de cuestiones de coding style, y necesidades del proyecto podes usar un approach mas purista o menos purista.

En general lo mas similar a WPF que he encontrado hasta ahora es Angular. Si conocés Angular te va a resultar fácil entender el paradigma de MVVM en WPF porque hay realmente muchas similitudes conceptuales.

Caso contrario, algunas de las principales diferencias con el modelo tradicional MVC:

- En MVVM, la vista "conoce" al VM, pero el VM no "conoce" a la vista. El VM conoce al Modelo y realiza operaciones sobre este.

- En MVVM, se usa DataBinding para conectar la vista al VM y al Model. Esta es la razon para que exista INotifyPropertyChanged.

En general yo te diria que para simplificar, siempre que puedas bindees directamente al modelo, y no al VM.

Lo mas simple que se me ocurre es esto:
- Model: Entidades con INotifyPropertyChanged
- VM: Expone instancias de entidades y los metodos para ejecutar acciones sobre los mismos.
- View: XAML + eventos que pueden llamar al VM, ya sea mediante Commands o mediante Code Behind.

Si tenes alguna pregunta mas especifica tal vez te pueda ayudar mejor