Question

Je prévois donc d'écrire une application qui est en grande partie une application sans fenêtre. Il y aura des fenêtres pour l'interaction utilisateur, mais uniquement à la demande de l'utilisateur. Sinon, l'application se trouve dans la barre d'état système et exécute une minuterie, en exécutant une logique toutes les minutes environ. Ma question est la suivante: pour autant que je sache, je mettrais toute la logique correspondante dans App.xaml.cs (démarrage du minuteur, exécution de la logique à chaque intervalle), mais pour une raison quelconque, cela me semble erroné.

L'application aura une icône dans la barre d'état système avec laquelle les utilisateurs peuvent interagir pour obtenir des détails, régler les paramètres, etc., mais sinon, l'application reste là et fait ce qu'elle fait. Est-il approprié de mettre tout le code dans le code-behind pour la classe App.xaml? Je ne sais pas pourquoi, mais il semble que je ne devrais pas, et il devrait y avoir un autre endroit, mais je ne peux vraiment penser à rien.

Je n'ai jamais écrit une telle application auparavant, d'où mon ignorance. Tout avis serait grandement apprécié. Merci.

James

Était-ce utile?

La solution

Même avec les applications où la plupart des interactions se font à travers Windows, il est généralement déconseillé de mettre tout le code dans le code derrière. Les interactions sont souvent initiées par des gestionnaires d'événements dans le code, mais vous pouvez placer votre code dans les classes que vous créez vous-même.

Il en va de même pour les applications qui ne présentent pas d’interface utilisateur la plupart du temps. La plupart des actions seront lancées à partir de App.xaml.cs, mais cela ne signifie pas que tout le code doit y vivre. Vous pouvez encapsuler des minuteries dans leurs propres classes, ce qui permet à un autre code de fonctionner, par exemple. Divisez votre code en fonction des responsabilités, une classe de fenêtre effectue des opérations d’interface utilisateur, la logique de domaine est intégrée à d’autres fichiers, etc. Cela vous permettra de créer des applications plus faciles à gérer.

Autres conseils

Cela ne ressemble pas du tout au code, et tout au plus à un appel pour démarrer les minuteries. Le MV-VM (Modèle - Vue - ViewModel). Comme vous l'avez noté, il semblera également plus correct de lier la logique à votre code. En utilisant MVVM, vous pouvez séparer votre interface utilisateur éparse dans une vue et votre code peut exister séparément dans le modèle et ViewModel.

Je vous recommanderais d'utiliser le boîte à outils ici , comme il contient également de bons documents de synthèse et un échantillon que vous pouvez digérer lorsque vous créez votre propre solution. Laurent Bugnion a également publié un kit de démarrage MVVM que vous pouvez utiliser pour démarrer.

De même, ici est un bon outil pour vous aider à commencer à configurer vos commandes dans la barre d'état système.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top