9
votes

Réduction du code de la chaudron dans l'application MVVM WPF pour les propriétés ci-jointes, les commandes, etc.?

Je travaille sur une application WPF MVVM. La chose que je remarque, c'est que je dois écrire une quantité démesurée de code de la chaudron simplement pour déclarer des commandes (par le biais de Délégatecommands de la boîte à outils MVVM de l'équipe WPF), des propriétés attachées et des comportements ci-joints. Existe-t-il des stratégies disponibles pour réduire la quantité de code de la chaudière que je dois écrire?

Merci!


2 commentaires

Donnez-nous un exemple de quelque chose que vous considérez «chaudière». La chaudière d'un homme est la logique commerciale d'un autre homme.


J'utilise des extraits pour les créer. Les extraits créent des #regions donc je n'ai pas à regarder tout cela.


3 Réponses :


9
votes

Personnellement, j'aime Josh Smith's Library de fondation MVVM . Il utilise une classe appelée relaiscommand là-bas, mais cela semble assez similaire à votre Délégatecommand de la boîte à outils. Il vous permet de créer une commande et de passer les canexecute et exécuter la logique sur les expressions Lambda. Cela aidera à réduire beaucoup de code de la chaudière.

dans Son Blog , Josh parle également de l'utilisation d'un observateur de propriété générique pour éviter certains des aspects messier de PropertyChanged Manipulation des événements. Cela vaut la peine d'être examiné.

Honnêtement, bien que le code soi-disant "chaudière" permet de mettre en place une base très dynamique et flexible pour votre application. Si vous faites une petite application facile et facile à maintenir, vous pouvez vous demander, "Dois-je même appliquer le modèle MVVM ici?" Si, d'autre part, vous faites une application plus grande que aura une longue durée de vie et nécessitera beaucoup de maintenance, ce code de la chaudière vous permettra de vous sauver sur la ligne.


1 commentaires

1
votes

La stratégie la plus évidente que je puisse penser consiste à utiliser des extraits de code et / ou des modèles de fichiers. Il ne réduit pas les lignes de codes mais au moins cela vous fait gagner du temps.

Vous pouvez les faire vous-même (ou trouver certains que vous pouvez importer directement sur votre studio Visual).

J'utilise personnellement la boîte à outils Light MVVM de Laurent Bugnion et j'utilise ses temples de code / fichier de code, ils me sauvent beaucoup de temps. Je supposerais qu'il y a quelque chose de similaire pour la plupart des butiers populaires MVVM.

espérons que cela aide!


0 commentaires

2
votes

J'ai constaté que j'écrivais beaucoup de code pour implémenter une notification de changement via l'interface inotifyproperTychanged. Pour réduire ce problème, j'ai trouvé un package Nuget appelé propriétéChanged.fody qui fait de l'ajout inotifypropertychangned à une classe de classes vraiment simple.

Voici comment l'utiliser; P>

using PropertyChanged;

[ImplementPropertyChanged]
public partial class Order
{
}


0 commentaires