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 et implémentation


Sujet :

MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut MVC et implémentation
    Bonjour,

    Je suis en train de réaliser une application en Java : un jeu de dame. Je me retrouve confronté à certains problèmes lors de l'implémentation du pattern MVC.

    1. Tout d'abord : dans le tutoriel Implémentation du pattern MVC, le modèle de base ne comprend qu'une seule donnée membre (volume). Donc l'évènement VolumeChangedEvent se suffit à lui-même.
      Mais que faire dans le cas d'un modèle comprenant cinq (ou plus) données membres ?
      Doit-on créer une classe événement pour chaque données membres ?
    2. Ensuite mon problème, je possède les classes suivantes :
      - Player : une classe représentant un joueur;
      - Game : la classe qui s'occupe de l'intéraction avec le (ou les) joueurs;
      - Map : la classe qui gère le plateau de jeu;
      - Piece : une pièce possèdant une couleur.
      Imaginons que je veuille porter mon système sur la console en premier temps. La classe Game sera donc constituée d'appel à "System.out.println()".
      Un moment plus tard, je souhaite développer une véritable interface graphique. Je fais donc appel à MVC pour garder l'implémentation séparée de l'UI (car je souhaite garder mon jeu compatible pour la ligne de commande).
      Comment implémenter MVC avec cet ensemble de classe ?
      Et où se situera le controller dans mon application ?
      Je n'arrive pas très bien à saisir le fonctionnement de MVC dans une véritable application (autre qu'un exemple).


    Merci de votre aide.

    Edit : désolé, je viens de m'apercevoir que je n'ai pas posté dans le bon forum... Il y avait encore un sous-forum MVC :s

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 122
    Par défaut
    Salut,

    Voila comment je vois ton appli :

    - Player : Package Metier
    - Game : Package controler
    - Map : Package IHM
    - Piece : Package Metier

    Cordialement

  3. #3
    Membre expérimenté
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 237
    Par défaut
    Merci pour ta réponse.

    Mais comment structurer le projet pour avoir plusieurs vues de la Map ?
    Et logiquement le Player devrait contacter lui-même la classe Map, non ? Vu que le Player peut-être une IA.

    Et sinon pour ma première question ? Chaque données membres entraîne la création d'une classe évènement ?

    Merci !

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 89
    Par défaut
    Bonjour,

    Concernant la première question, c'est simplement un choix d'implémentation. Potentiellement, (je ne connais pas bien java), on aura une classe événement par type d'évènement, pas par donnée membre.

    Pour reprendre l'exemple du tutorial, s'il y avait en plus un bouton pour couper le son, il y aurait un événement volumeChanged et un volumeMute, alors qu'il n'y a qu'une donnée membre volume.
    Inversement il peut y avoir plus de données membre que d'évènement.



    Pour ton cas de jeu de dames, tu n'es pas parti d'un modèle MVC dans ton développement, et il y a beaucoup de choses à revoir pour que cela corresponde à un MVC.
    Pour résumer, les classes que tu as créées devraient être décomposées en plusieurs parties pour rentrer dans un MVC.


    Voici le rôle des trois parties :
    • modele : il stocke l'état du jeu. C'est lui qui sait où se situe quelle pièce et à qui elle appartient.
    • vue : C'est la partie qui intéragira avec l'utilisateur. Elle a deux rôles : Mettre en forme ce qu'envoie le modèle, et envoyer au controleur les évènements envoyés par l'utilisateur (clic sur un bouton, appui sur une touche, etc...)
    • controleur : C'est lui qui décide quelle modification doit être faite sur le modèle en fonction de l'évènement reçu.



    Dans ces trois parties, ta classes player n'a pas vraiment de place par exemple. Si c'est un humain, il s'agit juste des évènements reçus par la vue, si c'est une IA, elle fera partie du modèle, du contrôleur ou des deux. S'il s'agit du score alors c'est uniquement dans le modèle

    La première étape est donc d'abord de revoir tes classes et notamment de savoir quelles données membre elles vont avoir.
    Essaye de créer seulement 3 classes (modèle, vue et controleur) et de mettre à l'intérieur les données membres que tu avais prévues dans tes classes de départ.
    Une fois que tu auras fait ça tu devrais y voir beaucoup plus clair.

    N'hésite pas à indiquer ici tes 3 classes où les problèmes que tu rencontres pour les créer éventuellement.

    Bon courage!

Discussions similaires

  1. Implémentation de MVC
    Par Oufti dans le forum Windows Forms
    Réponses: 11
    Dernier message: 22/09/2010, 10h47
  2. Implémentation du MVC en ASP.NET
    Par rabddoul dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 23/02/2008, 11h21
  3. [MVC] Problème pour l'implémentation
    Par Baptiste Wicht dans le forum MVC
    Réponses: 20
    Dernier message: 24/04/2007, 21h29
  4. [MVC]Implémentation
    Par Mandotnet dans le forum MVC
    Réponses: 7
    Dernier message: 09/04/2007, 19h18
  5. [MVC] Implémenter en ASP ?
    Par korrigan dans le forum MVC
    Réponses: 1
    Dernier message: 08/11/2006, 17h53

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