/ / MVVM: modèle de découplage de ViewModel - wpf, modèle, unité-conteneur, prisme, modèle de vue

MVVM: modèle Decouple de ViewModel - wpf, modèle, container-unit, prisme, viewmodel

Je viens juste d’apprendre à utiliser WPF MVVM avec Prismet unité. Découpler la vue du modèle de vue fonctionne plutôt bien, mais je ne comprends pas comment le câblage entre mon modèle de vue et mon modèle. Je ne me sens pas juste de créer un nouvel objet EntityObject directement dans mon modèle de vue. J'ai déjà lu brièvement l’échantillon WAF BookLibrary, mais il est assez volumineux et ajoute beaucoup de choses supplémentaires autour de la partie essentielle (lien entre view et viewmodel). , et les documents Prism ne disent pas un mot (pour autant que je le lise) à propos de l 'interaction modèle - modèle.

Est-ce que quelqu'un connaît une bonne source qui explique comment utiliser viewmodel et model d'une manière propre ou puis-je donner des conseils?

Meilleures salutations

Geai

Réponses:

10 pour la réponse № 1

Tout le monde aura ses propres opinions à ce sujet. Personnellement, cela ne me dérange pas d’utiliser le modèle directement dans le modèle de vue. Pour moi, l’idée d’un modèle de vue est d’étendre votre modèle de manière à ce qu’il puisse être consommé par une vue.

Un exemple simple de ceci serait objet personne,Il aurait des propriétés de modèle comme le nom et l'âge par exemple. Lorsque j'arrive à l'étape de la modélisation, je peux y ajouter des propriétés telles que la visibilité, ce qui n'aurait aucun sens pour le modèle proprement dit.

Un autre point à noter est que je considérerais un modèleêtre les données et le modèle de vue être le contexte. Vous pouvez donc avoir un modèle de vue "Carte" pour une personne, mais vous pouvez également avoir un modèle de vue "Elément de liste" qui représente le même modèle dans un contexte différent, avec des propriétés différentes du modèle de vue.

J'ai tendance à maquiller mes modèles en utilisant des interfacesLe cas échéant, utilisez Inversion of control pour les injecter dans le modèle de vue. Ainsi, la seule chose que mon modèle de vue sait réellement est qu’il a besoin d’un IPerson et qu’il sera fourni dans le constructeur.

Comme je l'ai dit, d'autres personnes auront des idées différentes, elles sont toutes correctes et il vous appartient de déterminer laquelle correspond à vos besoins.