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

Langage Java Discussion :

Trop de paramètres


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Trop de paramètres
    Bonjour,

    Dans une interface, je génère un arbre en fonction de résultats SQL sachant que la profondeur de l'arbre est constante et que seul le nombre d'élément affiché sur les noeuds varie. J'ai donc créé un objet représentant une ligne de l'arbre.
    L'arbre affiche plusieurs informations sur chacun de ses noeuds. Il se présente sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    (Racine) Info1
       --> (Noeud1) Info2 - info3 - info4
       --> (Noeud2) Info2 - info3 - info4
            --> (Sous-Noeud2-1) Info6
            --> (Sous-Noeud2-2) Info7
            --> (Sous-Noeud2-2) Info8
                .
                .
                .
    Du coup mon objet représentant une ligne contient toutes les infos affichées de la racine, de son noeud père et du sous-noeud. Je me retrouve donc avec un constructeur énorme (~20 param à l'heure actuelle). Plus ça va et plus on me demande de rajouter encore des choses.
    Le développeur, aimant faire du code propre, qui sommeille en moi me dit que je pourrais faire mieux, que ce n'est pas très "propre" ni facilement compréhensible pour une autre personne .

    Une solution à laquelle j'ai pensé serait d'éclater ma classe en plusieurs autres classes. J'aurai alors une classe pour la racine, une pour le niveau 1 et une autre pour le niveau 2 avec chacune ayant des références vers leur père ou inversement. Après ça crée une dépendance forte entre ces éléments mais bon ils n'ont pas vocation à être utilisés ailleurs. "On ne sait jamais" certains me diront mais je ne suis pas sûr que ça vaille le coup de pousser la réflexion aussi loin.

    Auriez-vous une idée/suggestion à proposer ?

    Ce post se veut purement informatif, c'est histoire de monter en compétence personnellement. Je ne suis pas bloqué par une quelconque erreur. Tout marche correctement. C'est plus une réflexion sur la propreté du code.

    Je vous remercie par avance.

    Bonne journée.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    Tu pourrais peut-être utiliser un ORM (Hibernate, eclipselink, ou autre), ce qui te permettrait de mapper des données de la base à des objets Java et qui t'affranchirait de toutes ces instanciations d'objets assez laborieuses.

    Romain.

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Janvier 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2010
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Ok ça marche merci de ta réponse. Malheureusement l'architecture actuelle de l'entreprise dans laquelle je suis ne me permets pas d'utiliser des trucs cool comme ça (à mon grand regret). Néanmoins je le garde dans un coin de ma tête si jamais je me retrouve dans le même cas dans un contexte différent.

    D'ailleurs ça me fait penser à un framework que j'ai utilisé il y a 2-3 ans, SQL2JAVA . Je ne sais pas s'il est connu mais après je suppose qu'Hibernate etc. sont plus riches en fonctionnalité.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 639
    Points
    639
    Par défaut
    Tu peux montrer ta classe "représentant une ligne de l'arbre" ? J'ai une petite idée qui te permettrait d'améliorer la lisibilité (sans que ça soit mirobolant non plus ^^) mais il faudrait que je vois ta classe.

    Romain.

Discussions similaires

  1. [AC-2007] TROP de paramètre dans la requête
    Par andy331 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/01/2010, 11h04
  2. hashtable pour éviter trop de paramètres à une fonction ?
    Par _LittleFlea_ dans le forum Général Java
    Réponses: 6
    Dernier message: 14/08/2009, 17h24
  3. Trop de paramètres pour moi avec des "Si" partout
    Par michparmentier dans le forum Excel
    Réponses: 3
    Dernier message: 13/11/2008, 06h59
  4. "trop de paramètres" dans une requête "1 attendu"
    Par emulamateur dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 21/04/2008, 21h46
  5. [URLRewriting] Trop de paramètres
    Par nicoalafac dans le forum Apache
    Réponses: 1
    Dernier message: 02/02/2007, 10h12

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