Est orthodoxe MVVM mise en œuvre inutile? Je suis en création d'une nouvelle application et je l'ai considéré comme Windows Forms et WPF. J'ai choisi WPF parce que c'est l'avenir et offre beaucoup de flexibilité. Il y a moins de code et plus facile d'apporter des modifications importantes à votre INTERFACE utilisateur à l'aide de XAML.
Depuis le choix de WPF est évident, j'ai pensé que je peut tout aussi bien aller tout le chemin en utilisant MVVM que mon architecture de l'application, car il propose des blendability, la séparation des préoccupations et de l'unité de la testabilité. Théoriquement, il semble belle comme le saint-graal de l'INTERFACE de programmation. Cette brève aventure; cependant, s'est transformé en un véritable casse-tête. Comme prévu dans la pratique, je suis la recherche que j'ai troqué un problème à un autre. J'ai tendance à être un trouble obsessionnel-programmeur que je veux faire les choses de la bonne façon pour que je puisse obtenir les résultats de la droite et de la possibilité de devenir un meilleur développeur. Le modèle MVVM juste raté mon test sur la productivité et a tout simplement transformé en un gros dégoûtant hack!
Le cas typique est l'ajout du support pour une boîte de dialogue Modale. La manière correcte est de mettre en place une boîte de dialogue et l'attacher à un modèle de vue. L'obtention de ce travail est difficile. Afin de bénéficier de la pattern MVVM, vous devez distribuer le code à plusieurs endroits à travers les couches de votre application. Vous devez également utiliser ésotérique de la programmation des constructions comme les modèles et les lambda expressions. Des trucs qui vous fait regarder l'écran de rayer votre tête. Cela facilite la maintenance et le débogage d'un cauchemar en attente de se produire comme je l'ai découvert récemment. J'ai eu une boîte de travailler bien jusqu'à ce que j'ai eu une exception la deuxième fois que je l'invoque, en disant qu'il ne pouvait pas afficher la boîte de dialogue nouveau une fois qu'il est fermé. J'ai dû ajouter un gestionnaire d'événement pour la fin de la fonctionnalité de la fenêtre de dialogue, un autre dans le IDialogView mise en œuvre et, enfin, un autre dans le IDialogViewModel. Je pensais que MVVM allait nous sauver de ces extravagantes hackery!
Il y a plusieurs gens là-bas avec des solutions à ce problème et ils sont tous les hacks et de ne pas fournir un environnement propre, facilement réutilisables, solution élégante. La plupart des MVVM boîtes à outils brillant sur les dialogues et quand elles portent sur eux, ils sont juste des boîtes d'alerte qui ne nécessitent pas des interfaces personnalisées ou afficher les modèles.
Je vais la donner sur le MVVM modèle d'affichage, au moins orthodoxes mise en œuvre. Qu'en pensez-vous? Est-il en vaut la peine pour vous, si vous aviez des? Je suis juste un incompétent programmeur ou ne MVVM pas ce que c'est "hype" à l'être?