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

 Java Discussion :

Aide pour conception archi MVC


Sujet :

Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 18
    Points
    18
    Par défaut Aide pour conception archi MVC
    Bonjour,

    Je veux créer un projet en respectant une architecture MVC car je vais bientot en avoir besoin sur un projet important.

    Pour l'instant j'ai une situation très simple, j'ai une classe comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class Livre {
    private String titre;
    private String resume;
    private int nbPages;
    private int numDuTome;
    }
    disons qu'on s'arrête là...
    Je me base sur le tutoriel suivant : http://baptiste-wicht.developpez.com...onception/mvc/

    Voila maintenant ce que je veux faire, c'est avoir une vue avec une liste où tous les livres seront listés, et une deuxième qui affiche les détails du livre sélectionné dans la liste.

    Si j'ai bien compris ... je dois mettre en place un event sur ma liste pour qu'au cas ou l'on change de ligne, un event soit envoyé au controlleur pour dire que la sélection a changé. Par la suite, je suis un peu perdu, dans le tuto l'information remonte jusqu'au modèle car c'est lui qui possède la liste des listeners... je ne vois pas quoi faire remonter au modèle, sachant que pour moi ma classe modele est ma classe livre (enfin c'est comme ca que je le vois en tout cas)

    Ou alors j'ai tout faux et je dois séparer une classe métier comme livre d'une classe modele qui aura pour role de contenir les mêmes champs que livre mais qui ne sera instancié qu'une seule fois ??

    Bref en gros j'ai pas compris gd chose :p si vous pouviez m'orienter vers des ressources pour les nuls ou si quelqu'un pourrait prendre le temps de m'expliquer...(je comprend que ce doit pas être très motivant :p)

    Sur ce je vous souhaite une très bonne soirée et j'espère ne pas vous avoir trop déprimé avec mon niveau de compréhension !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Points : 153
    Points
    153
    Par défaut
    Si j'ai bien compris, tu as sur ta fenêtre 2 choses:
    • La liste des livres
    • Le détail d'un livre sélectionner


    Donc 2 modèles => La liste des livres et un livre

    Si tu décides d'afficher ta liste avec une JTable, penses à implémenter un TableModel ( qui encapsulera donc un objet de type List<Livre> ).

    Enfin, tu auras aussi un objet Livre ( avec la gestion des listeners intégrés, comme expliqué dans le tuto cité) qui, à chaque changement d'un de ses attributs préviendra le controler qui s'est inscrit aux évènements

    Mais lorsqu'un autre livre sera sélectionner, pas la peine de créer une nouvelle instance de Livre, utilise celui déjà instancié, mais modifies ses attributs !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 21
    Points : 18
    Points
    18
    Par défaut
    Hé merci pour la réponse c'est bien sympa !!

    Bon je vais tenter de me lancer la dedans. Je me demandais également s'il fallait faire un event différent pour chaque attribut ou si c'est tout autant efficace de faire un event genre livrechanged et la vue qui affiche les détails réinitialise complètement les données ?

  4. #4
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Non ne recharge pas tout, ce serait trop lourd si tu as des milliers de livre :p

    Lors d'un livreChanged, débrouille toi pour ne recharger que le livre qui a changé.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par Schulman Voir le message
    Hé merci pour la réponse c'est bien sympa !!

    Bon je vais tenter de me lancer la dedans. Je me demandais également s'il fallait faire un event différent pour chaque attribut ou si c'est tout autant efficace de faire un event genre livrechanged et la vue qui affiche les détails réinitialise complètement les données ?
    Dans ton cas, un seul event suffira ! Tu n'as que 4 attributs à afficher !
    Si ton model se complexifie, alors il faudra surement envisager de gérer les évènements pour chaque attribut, mais là, à toi de voir !

    Tu peux aussi n'avoir qu'un seul evenement, par exemple "valueChanged(String attributName, Object value)", que tu pourrai utiliser pour n'importe quel attribut !
    Bon méditation !

Discussions similaires

  1. Besoin d'aide pour conception du modèle 3d
    Par Gnutella dans le forum 3D
    Réponses: 5
    Dernier message: 04/02/2008, 21h34
  2. [SQL] demande AIDE pour conception en SQL
    Par copart dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 26/09/2007, 14h04
  3. [C#, .net 2.0] Aide pour conception d'IHM
    Par SesechXP dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/10/2006, 10h22

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