IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC Discussion :

[MVC] question technique..


Sujet :

MVC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 18
    Points
    18
    Par défaut [MVC] question technique..
    Salut à tous, je m'experimente actuellement au pattern MVC et je viens demander conseil sur un problème que je rencontre.
    Voici un exemple simple pour expliquer la chose.

    Le modèle est une simple classe Number qui représente un nombre et qui possède une méthode "incrémenter et décrémenter".

    La vue est un simple label représentant le nombre de la classe Number ainsi qu'un bouton incrémenter et décrémenter.

    Ce que je veux mettre en oeuvre dans le controleur, c'est que la valeur du nombre ne peut pas dépasser 10. Si on essaye de dépasser cette valeur, un label d'erreur s'affiche sur la vue indiquant à l'utilisateur qu'il ne peut plus incrémenter le nombre. Par contre dès qu'on décrémente le nombre et donc qu'il prend une valeur inférieure à 10 je veux que le message d'erreur ne s'affiche plus.

    Pour ce faire il faudrait gérer l'état de la fenêtre via un pattern state ou tout simplement via un booléen "erreur" qui indique si la vue doit afficher le message d'erreur ou pas.

    Est-ce la bonne manière de procéder (utiliser une variable d'état ) ?
    Et surtout, faut-il que je gère l'état au niveau de la vue ou du controlleur ? Je pense qu'il faut faire ça au niveau du controlleur, mais je trouve celà un peu lourd...

    Qu'en pensez vous ? Est-il fréquent de devoir gérer l'état d'une vue via un controlleur ? Comment implémentez vous celà ?

  2. #2
    Inactif
    Inscrit en
    Juin 2008
    Messages
    304
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 304
    Points : 96
    Points
    96
    Par défaut
    Bonjour

    • ou tu renvoie un booléen de la méthode du controlleur qui alerte si la demande s'est rélisée ou pas, et la vue affiche ce qu'il faut en fonction de ce code d'erreur qu'elle récupère (seule la vue qui a tenté de modifier sera au courant)
    • ou bien tu met plusieurs méthodes de mise à jour pour les vues dans le modèle avec leur correspondant différents dans la vue et tu appele l'une ou l'autre en fonction du succès des mises à jours. Toutes le vues seront alertées. Le state pattern m'a l'air un peu exessif dans la cas présent.
    • Une variable d'état est tout à fait potable, sauf qu'un moment il faut la réinitialiser, et ce moment est assez délicat à choisir pour minimiser les conflits.
      (accès à la variable par une vue alerté pour une oprétion d'erreur après un accès à cette même variable par une vue alertée par une opération conforme et exécuté juste après l'opération interdite... c'est possible avec des threads.)

    Poff, siNon En général quand la valeur entrée est contrôlée et qu'il à été décidé qu'elle n'était pas valide, il suffit de balancer une exception de type runtime(enfin un type héritant et propre à cette situation de préférence) qui va remonter jusqu'à la vue et sera catchée la bas.

    Bien sur c'est plus lourd coté machine, mais c'est le plus pertinent et pratique coté utilisation (assurance que la logique associée à l'action s'interrompt, remontée jusqu'à la vue pour prévenir l'utilisateur de l'utilisation d'une valeur invalide,ou jusqu'au main et donc crash, ce qui fait qu'on ne peut pas oublier de la gérer)
    .....
    Cordialement
    bilred

Discussions similaires

  1. Question techniques sur les extents
    Par lecharcutierdelinux dans le forum Oracle
    Réponses: 16
    Dernier message: 24/08/2006, 09h01
  2. [général] Questions techniques
    Par fantomasmusic dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 04/11/2005, 08h48
  3. [debutant]Question technique
    Par toto4650 dans le forum Débuter
    Réponses: 23
    Dernier message: 13/07/2005, 02h06
  4. WSAD et serveur appli, question technique
    Par Canou dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 4
    Dernier message: 09/12/2004, 14h35
  5. [.NET] Une question technique a propos du mode asynchrone
    Par nicknolt dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 08/06/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo