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 :

Modele MVC et numero des messages


Sujet :

MVC

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 51
    Points : 34
    Points
    34
    Par défaut Modele MVC et numero des messages
    J'utilise le modele mvc de la maniere suivante : prenons une classe Observer qui va observer un objet Observable. La méthode update s'ecrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Observer::upadte(objetAObserver,message) {
         if(message == Observable.MESSAGE1){
               //fait des trucs
        }
        else if (message == Observable.MESSAGE2){
              ///fait d'autres trucs
       }
    }
    et ma classe Observable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Observable{
         static MESSAGE1 = 0;
         static MESSAGE2 = 1;
       // Les autres trucs utiles .....
    }

    Mon problème est le suivant : dans mon application, évidement, j'ai plusieurs type d'observables qui définissent d'autres messages, mais dont la numérotation est la même. En effet, si j'ai une autre classe observable,j'aurai un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UnAutreObservable{
        static MESSAGEBIS1 = 0;
        static MESSAGEBIS2 = 1;
       // ....
    }
    Et donc, je ne peux pas faire la différence dans ma méthode Observer::update() entre MESSAGEBIS1 et MESSAGE1.

    J'ai pensé à 2 solutions, mais aucune ne me convient :
    -soit utiliser des String pour les messages mais : (1)ca me semble un peu lourd (2)on peut etre confronté au mm problème
    -soit utiliser une variable globale pour déterminer les numéros, et on aurait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Observable{
       static MESSAGE1 = ++maVariableGlobale;
       static MESSAGE2 = ++maVariableGloable;
    }
    et pareil pour UnAutreObservable. Mais on utilise des variables globales, et ca ne m'enchante pas des masses.

    Qu'en pensez vous? Avez vous une autre maniere d'utiliser le MVC?

  2. #2
    Membre expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Points : 3 134
    Points
    3 134
    Par défaut
    Cela n'a pas grand chose à voir avec MVC à vrai dire. C'est plutôt un problème spécifique à ton langage, dans l'utilisation du patern Observer/Observable.

    La meilleure solution à mon sens est de déclarerr l'intégralité des messages qui peuvent être envoyés au sein d'une enum unique et globale.
    Hervé Delannoy, Ingénieur études&développement.

    Je n'accepte pas les demandes de mise en relation MSN/yahoo sans motif.
    ------------------------------------------------------------------------
    Si , ni , ne peuvent vous aider, mais nous oui, pensez à un pti et au !
    Merci de vous relire
    ____________________________________________________________________________________
    Recherche joueurs de "Magic" sur Lille et environs.
    Donner plutôt que jeter.

  3. #3
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Si votre souci est d'identifier de façon unique tous les types de messages possibles dans l'application, la meilleure chose est effectivement un enum comme cité plus haut ou alors une classe définissant des constantes.

    class ObservableConstants
    {
    public const MESSAGE_1 = 1;
    public const MESSAGE_1_BIS = 1000;
    ........
    }

    Vous allez par contre vous retrouvez avec de gros switch case dans vos observers, voyez si vous ne pouvez pas traiter les différences de messages en les passant sous forme d'objet plutôt que sous forme d'entiers.

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/06/2009, 14h58
  2. [Modele] gérer des messages persos/coms
    Par leken11 dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 05/09/2007, 17h37
  3. [Spring MVC] Gestion des messages
    Par Llaur76 dans le forum Spring Web
    Réponses: 1
    Dernier message: 22/08/2007, 10h08
  4. Faites des messages corrects !!!
    Par Alacazam dans le forum C++
    Réponses: 6
    Dernier message: 23/03/2006, 15h56
  5. Réponses: 3
    Dernier message: 11/06/2003, 00h18

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