Je suis en train de faire une présentation sur l'utilisation de MVVM dans les applications du monde réel et je suis, y compris une section sur les guerres de religion , les décisions de conception impliqués lors de l'utilisation de MVVM comme un modèle dans votre application. Dans une application MVVM il y a deux façons principales (que je connais) pour instancier un nouveau point de Vue/ViewModel paire:
- Vue-Première dans lequel vous créez un point de vue et il crée son propre ViewModel et il définit à son DataContext.
- ViewModel-Première dans lequel vous créez de nouveaux modèles de vue et de créer de nouveaux points de vue en réponse à des changements dans le ViewModel propriétés, généralement avec ItemsControls et/ou DataTemplates.
Dans votre expérience, quels sont les avantages et les inconvénients de chaque méthode? Ce que permettent-elles et quels sont les problèmes que vous avez avec chaque?
Sommaire Des Résultats
-
D'Abord La Vue - Des Pros
- Facile de suivre le ViewModel est utilisé par une Vue
-
D'Abord La Vue Ci - Contre
- Ne permettent pas à une seule Vue pour être facilement utilisé avec plusieurs Viewmodel
- Nécessite des événements supplémentaires pour gérer la communication entre les Vues et les ViewModels
-
ViewModel Premier - Pros
- Permet plus complet des tests de logique pour ouvrir de nouveaux points de Vue et Viewmodel
- A tendance à être sèche-linge applications deviennent de plus en plus
- Vue et ViewModel sont de plus en plus indépendante et peut être travaillé séparément plus facilement
-
ViewModel Premier - Cons
- Plus difficile à mettre en place dans Silverlight sans DataTemplateSelector et tapé les DataTemplates.