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 :

Notions de base


Sujet :

MVC

  1. #1
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Points : 106
    Points
    106
    Par défaut Notions de base
    Bonjour,

    J'essaye de mettre en pratique MVC dans une application Java et j'ai quelques zones de flou.

    Je me demande si une classe qui étend AbstractAction, donc pour gérer un évenement, fait partie de la Vue ou du Controleur?

    Pour moi ça fais partie du Controleur mais on m'a dit que cela faisait partie de la vue.
    Sur WikiPedia cela confirme mon idée :
    Le contrôleur prend en charge la gestion des événements de synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit tous les événements de l'utilisateur et enclenche les actions à effectuer
    Ou alors, dans cette classe évènement j'appelle le controleur? alors c'est bien une classe vue.

    Ensuite, étant donné que mon projet concerne un jeu de carte, je vais avoir un tableau qui va contenir les valeurs des cartes. Qui rempli ce tableau (tableau au sens stockage pas vue)? Le controleur ou le modele?
    Pour moi c'est le modele étant donnée que le contrôleur n'effectue aucun traitement, ne modifie aucune donnée.

    Merci par avance pour votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Il existe plusieurs variantes du MVC reste à savoir vers laquelle tu te diriges

    Un diagramme de package permet justement de se concentrer sur l'organisation de toutes ces classes.

    Ou alors, dans cette classe évènement j'appelle le controleur? alors c'est bien une classe vue.
    Un exemple serait peut-être plus parlant.

    Voici un événement clic sur un bouton en Java, ici on n'est bien dans la vue.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void actionPerformed(ActionEvent e)
    {
       Controleur.queDoisJeFaire();
    }
    Il ne faut pas confondre événements graphiques (comme les clics etc...) qui sont traités et relayés par la vue au controleur et les événements systèmes qui là sont traités par le controleur seulement.

    Ensuite, étant donné que mon projet concerne un jeu de carte, je vais avoir un tableau qui va contenir les valeurs des cartes. Qui rempli ce tableau (tableau au sens stockage pas vue)? Le controleur ou le modele?
    Pour moi c'est le modele étant donnée que le contrôleur n'effectue aucun traitement, ne modifie aucune donnée.
    C'est le modèle. J'en veux pour preuve.

    Dans la vue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class JeuDeCarte extends JFrame
    {
       private Vector cartes ;
       public void initJeu()
    {
       cartes = Controleur.getCartes();
     <...>
    }
    }
    Dans le controleur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Vector getCartes()
    {
       return Modele.getCartes();
    }
    Dans le modele

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Vector getCartes()
    {
       Vector cartes = new Vector():
      cartes.addElement( new Carte("as de pique") );
      cartes.addElement( new Carte("as de trefle") );
    <...>
      return cartes;
    }
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Points : 106
    Points
    106
    Par défaut
    Merci hegros pour tes messages toujours très explicite.

    Tu as mis le doigt sur la zone flou, l'évènement clic et l'évènement du controleur.

    Si tu as le temps, j'ai repondu à ta proposition de UC :
    http://www.developpez.net/forums/d63...ser-jeu-carte/

    Merci encore pour ton aide

  4. #4
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 257
    Points : 106
    Points
    106
    Par défaut
    Bonjour!

    Pour ceux qui m'ont aidé et ceux que ça intéresse, le jeu est terminé.

    Il est dispo avec les sources à cette adresse :
    Jeu Memory Java

    Bonne visite!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Google France rappelle les notions de base du référencement
    Par Idelways dans le forum Référencement
    Réponses: 5
    Dernier message: 26/01/2011, 13h08
  2. [Généralités] Notions de base : les threads
    Par Raptor92 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/07/2009, 15h24
  3. Réponses: 1
    Dernier message: 18/12/2007, 18h43
  4. Notions de base Active directory
    Par Zelltemplar dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 26/03/2007, 15h07
  5. [POO Basique] Besoin de précision sur une notion de base
    Par alois.cochard dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2006, 09h01

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