2009-10-04 8 views
0

Je suis en train d'écrire un petit jeu avec des contrôles d'interface utilisateur standard.Enregistrement d'éléments d'interface utilisateur dans le moteur/contrôleur

Cela fonctionne très bien jusqu'à présent, mais ce que je n'aime pas, c'est que je gère les contrôles dans le fichier codebehind. (C#)

Comme j'essaie de découpler tous les éléments, j'aimerais disposer d'un moteur/contrôleur séparé qui gère toute la gestion des données et la logique de mon interface utilisateur.

Y at-il une possibilité d'enregistrer les contrôles avec le moteur de sorte que je n'ai pas besoin de les transmettre avec toutes les méthodes que j'appelle?

Actuellement, je suis obligé de passer les contrôles à chaque fois que j'appelle la fonction ..

Merci à l'avance!

Répondre

0

Sera bien si vous pouvez élaborer plus sur votre implémentation actuelle. D'après ce que je peux comprendre, au lieu d'essayer de comprendre comment «enregistrer les contrôles avec le moteur», pourquoi ne pas essayer de voir si c'est un problème de conception.

Peut-être existe-t-il une meilleure façon de structurer votre application/vos classes/composants afin de pouvoir les découpler logiquement pour une meilleure réutilisabilité et maintenabilité?

+0

Une grande partie de la logique est dans mes gestionnaires d'événements button_click en ce moment. Je veux le changer en ayant une classe dédiée manipulant toute cette logique et en mettant à jour mes éléments de formulaire. Je voudrais enregistrer l'adresse physique (comme les pointeurs C++) des contrôles dans la classe de contrôle afin que je n'aie pas besoin de passer dans les contrôles chaque fois que j'appelle les méthodes. –

+0

Je ne sais pas si cela fonctionnera pour vous, une astuce rapide et sale consiste à créer une variable statique publique/interne qui est utilisée pour faire référence au (x) contrôle (s). Sur Button_Click, affectez le (s) contrôle (s) à cette (ces) variable (s) statique (s) et utilisez-le partout où vous avez besoin de nouveaux codes sans avoir toujours besoin de passer la référence. Avant de quitter la méthode Button_Click, désaffectez la référence. –

+0

Cela pourrait fonctionner, mais le «découplage» des préoccupations n'est pas atteint avec cela. L'objectif plus tard est de créer un service web hors de la classe. –

Questions connexes