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 :

Conception et Architecture MCV


Sujet :

Java

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Par défaut Conception et Architecture MCV
    Hello,

    Etant en train de développer une appli en JAVA basée sur la récupération, l'affichage & le traitement de données dans une BD, j'aimerai utiliser l'architecture MVC. N'étant pas un pure informaticien, je fait appel a vos lumières:

    Prenons le cas de base: l'utilisateur se connecte a une base de données MySQL. S'affiche alors une list de BD dispo. Celui-ci en selectionne une, plus clique sur un bouton pour afficher son contenu.

    Soit la structure (simplifiée) suivante:

    ConnectorGUI.java -> L'interface permettant d'ouvrir une BD
    ViewerGUI.java -> L'interface permettant de visualiser
    MySQLManager.java -> Une classe permettant de gérer la connexion a la BD et d'executer des requetes
    DataModel -> Classe permettant de récupérer et de stocker les données de la BD (utilise un MySQLManager)

    Pour le moment, lorsque l'utilisateur selectionne et décide d'ouvrir une BDD en entrant IP, username et pass, ConnectorGUI va donc instancier MySQLManager, et faire appel à une classe qui va elle même s'occuper de récupérer les données et de les stocker à partir de ce MySQLManager (avec toutes les vérifications qui vont bien...). ConnectorGUI va ensuite créer une nouvelle instance de ViewerGUI et lui transmettre les données (Datamodel) à afficher.

    Je voulais donc savoir si une telle architecture basique était satisfaisante? Si il y aurait moyen de l'améliorer? De la rendre plus modulaire encore... Bref vos avis sont les bienvenus

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Profite de ce que tu n'es pas un pur informaticien pour réfléchir normalement. Supprime tous les termes type BDD, MySQLManager et autre Connector de ton esprit.

    Il faut penser une éventuelle modularité à partir de ce qui peut varier chez tes utilisateurs, et non pas chez les informaticiens. Le MVC se conçoit premièrement à partir du monde des utilisateurs. Quel est leur Modèle ? Ce n'est jamais une base de données, bien sûr. Quel Vision en ont-ils ? Quel Contrôle veulent-ils opérer ?

    Et pas d'excuse : je n'ai jamais vu un utilisateur vouloir demander l'ouverture d'une base de données en appuyant sur un bouton.

    Ensuite, pour la partie proprement informatique des choses, je te conseille, soit de faire ton petit programme directement, tes erreurs seront tes meilleurs amies, soit d'aller voir des trucs style Hibernate, ou même seulement JDBC, Swing (à moitié MVC mais c'est pas grave on se débrouille quand même), etc.

    Sur ce que tu as déjà réfléchi, il me semble que tu développes trop le coté base de données, beaucoup des choses que tu présentes sont couvertes par le JDBC... aussi étonnant que cela puisse paraître, il n'y a pas de notion de base de données dans le MVC, il y a seulement "Modèle", ce qui n'est absolument pas une base de données. Une fois que tu as le Modèle, le JDBC fait le reste à ta place, ou Hibernate si tu veux plus de facilités.

    Egalement sur que tu as déjà réfléchi je ne vois pas de notion de Contrôle. Mais c'est pas forcément grave... Le MVC, comme le reste, ne se comporte jamais mieux qu'avec des exceptions qui confirment la règle il suffit de le dire.

  3. #3
    Membre éprouvé
    Avatar de David Gimelle
    Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2007
    Messages : 79
    Par défaut
    Pour le moment tu utilises quelle techno dans ton projet ?
    Eclipse, java 5, hibernate, JSP , junit ?

Discussions similaires

  1. conception et architecture
    Par élève_ingénieur dans le forum Java EE
    Réponses: 1
    Dernier message: 13/12/2009, 14h44
  2. Un concept original d'architecture logicielle ?
    Par jobigoud dans le forum Architecture
    Réponses: 4
    Dernier message: 28/01/2006, 15h11
  3. [Architecture/strategie] conception de site web dynamique
    Par epoz dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 28/11/2005, 12h11
  4. [N-Tier] Problème conception architecture 3-tiers
    Par Royd938 dans le forum Autres
    Réponses: 3
    Dernier message: 17/06/2005, 11h47

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