/ / MVVM: desacoplar el modelo de ViewModel - wpf, model, unity-container, prism, viewmodel

MVVM: desacopla el modelo de ViewModel - wpf, model, unity-container, prism, viewmodel

Acabo de empezar a aprender WPF MVVM usando Prismy la unidad. El desacoplamiento de la vista del modelo de vista funciona bastante bien, pero no entiendo cómo cableado mi modelo de vista y mi modelo. No me siento bien para crear un nuevo EntityObject directamente en mi modelo de vista. Ya he leído detenidamente la muestra de la Librería de Libros WAF, pero es bastante voluminoso y agrega muchas cosas adicionales en la parte esencial (enlace entre vista y modelo de vista) , y los documentos de Prism no dicen una palabra (en la medida en que lo leí) sobre la interacción entre modelos y modelos.

¿Alguien sabe una buena fuente que explique cómo usar viewmodel y model de una manera limpia o puedo dar un consejo?

Atentamente

Arrendajo

Respuestas

10 por respuesta № 1

Cada uno tendrá sus propias opiniones sobre esto. Personalmente no me importa usar el modelo directamente en el modelo de vista. Para mí, la idea de un modelo de vista es extender su modelo de tal manera que pueda ser consumido por una vista.

Un ejemplo simple de esto sería el objeto persona,Tendría propiedades modelo como nombre y edad, por ejemplo. Cuando llego a la etapa del modelo de vista, puedo agregarle propiedades como visibilidad que no tendrían sentido en el modelo adecuado.

Otro punto a destacar es que consideraría un modelo.ser los datos y el modelo de vista ser el contexto. Por lo tanto, puede tener un modelo de vista "Tarjeta" para una persona, pero también puede tener un modelo de vista "Lista de elementos" que representa el mismo modelo en un contexto diferente, con diferentes propiedades específicas del modelo de vista.

Tiendo a hacer mis modelos utilizando interfaces.donde sea relevante y use Inversión de control para inyectarlos en el modelo de vista, de esa manera lo único que mi modelo de vista realmente sabe es que necesita una IPerson y que se proporcionará en el constructor.

Como dije, otras personas tendrán ideas diferentes, todas son correctas y depende de usted determinar cuál se adapta a sus necesidades.