MVVM - Exemple d'application

Description

Jai remarqué que le site conservait une vieille version, vous pouvez télécharger une version plus complète et récente sur mon blog ou ici http://1drv.ms/1fnJdQ3

Bonjour,
J'ai souvent cherché des sources sur MVVM mais rarement trouvé des bonnes sources fonctionnelles .C'est pourquoi je mets en ligne cette démo .

Montre beaucoup de choses, même si tout n'est pas au point.
- Consultation,edition
- Validation de formulaire avec Data Annotations et IDataErrorInfo (updateSourceTrigger sur LostFocus)
- IEditableObject pour annuler les changements
- Utilisation de commandes(RelayCommand), passage de paramètre
- Communication entre ViewModels (grâce au pattern Mediator)
- fenêtres de dialogue
- Utilisation de ViewModelLocator et ServiceLocator
- Utilisation de dictionnaire de ressources
- Binding("zéro code behind")

Un mot ,cherchant les bonnes pratiques je me suis tourné vers un bon livre "MVVM de la découverte à la maitrise" .

Mon objectif serait dans un premier temps d'arriver à un bon niveau et ensuite automatiser , sans doute en écrivant un générateur de code si je ne trouve pas d'autres solutions satisfaisantes .

Les inconvénients que je vois pour l'instant à MVVM :
Les -
- Des temps de développement multipliés par 10
- Des projets tout de suite volumineux
- Des erreurs parfois longues à résoudre .Qui mettent en avant notamment le manque d'outils et d'aides pour écrire le Xaml.
- La perte de « l'interface utilisateur » C'est dommage de perdre toute la gestion "événementielle" des contrôles et supprimer totalement le code-behind .
- Les listes de ViewModel, même si on comprend la « logique du pattern» cela réclame beaucoup de ressources
Les +
Un code structuré

ps :Pensez à dézipper la base de données

Mis à jour le 11 mars 2014
plusieurs nouveautés dont
- gestion double clic (Trigger) et touche Enter(InputBindings) sur la listbox principale
- boutons dans listbox avec passage de paramètre(commandParameter)
- révision de l'interface graphique
- ...

Mis à jour le 31 mars 2014
- utilisation de EDM (ADO.NET Entity Framework) pour l'accès aux données
-Chargement asynchrone, écran d'attente(VisualState),TargetNullValue,utilisation de la vue(ListCollectionView) pour l'ajout/modification,binding "transparent" entre les différentes couches ,application NTiers + Mapping,etc.
- il y a le script de la base(schéma et données) avec les sources (DbTrading.sql)

mon blog
http://romagny13.over-blog.com/

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.