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

Algorithmes et structures de données Discussion :

Multi Results List


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut Multi Results List
    Hello,

    Je me pose une petite question d'algorithmie. En effet, dans le cadre d'une recherche standard (via un terme alphanumérique), je dois ramener plusieurs listes d'éléments de nature différentes et les afficher dans une JSP (pour info. je fais du Struts 2).

    Pour l'instant, voici comment je procède. Par exemple, je rentre le terme "pom" :

    - Une action "BasicSearchAction" va devoir appeler un service BasicSearchService qui lui, va se charger d'appeler les BO->DAO de chaque types d'éléments comme par exemple : FruitBo, BoissonBo, DessertBo... Ce service va me construire un objet BasicSearchResult composé de listes hétérogènes, en l'occurence trois.

    Ce BasicSearchResult est transmit à mon action, qui le met à disposition pour ma JSP.

    Ainsi, pensez-vous qu'il s'agisse d'un algo. fiable ou y a t'il mieux d'après vous ?

    Merci pour vos réponse,

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par quarky Voir le message
    Ce service va me construire un objet BasicSearchResult composé de listes hétérogènes, en l'occurence trois.
    Pourquoi 3 listes et pas une seule avec tous les objets dedans?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Because, je pense que c'est plus objet comme design, non ?
    En outre, il faut bien à un moment ou un autre, devoir trier ces listes afin de les exposées dans ma JSP (sous forme de trois tables).

    Ulrich

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par quarky Voir le message
    Because, je pense que c'est plus objet comme design, non ?
    Non, c'est pas plus ni moins objets. C'est juste plus "hierarchique"

    En outre, il faut bien à un moment ou un autre, devoir trier ces listes afin de les exposées dans ma JSP (sous forme de trois tables).
    Ca c'est un traitement spécifique a cette JSP, ca n'a pas de rapport avec le "contrat" de ta methode BasicSearchResult(). Cette méthode n'est pas sensée savoir que ta JSP va faires des tables séparées suivant les types des objets. Elle renvoie juste une liste d'objets qui correspondent a ton critère.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    J'ai vraiment du mal à me dire que travailler avec des objets hétérogènes dans une seule liste est "mieux", que d'avoir un objet a des propriétés dédiées à ces listes.

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par quarky Voir le message
    J'ai vraiment du mal à me dire que travailler avec des objets hétérogènes dans une seule liste est "mieux", que d'avoir un objet a des propriétés dédiées à ces listes.
    C'est comme ca que fonctionne le "SELECT" en SQL et personne ne s'en plaint.

    Imagine maintenant que dans ta JSP tu veux afficher les résultats par ordre alphabetique, quelque soit le type. Tu fais comment ? Tu ecris une "autre" methode BasicSearchResult() ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    C'est comme ca que fonctionne le "SELECT" en SQL et personne ne s'en plaint.
    En fait, je suis dans le monde JEE avec de l'Hibernate derrière. Donc, même au niveau Data, je suis en objet.

    Imagine maintenant que dans ta JSP tu veux afficher les résultats par ordre alphabetique, quelque soit le type. Tu fais comment ? Tu ecris une "autre" methode BasicSearchResult() ?
    Why not? Si c'est une demande d'évol. ! Le principe n'est t-il pas de répondre aux besoins de l'utilisateur à l'instant t ?

  8. #8
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par quarky Voir le message
    En fait, je suis dans le monde JEE avec de l'Hibernate derrière. Donc, même au niveau Data, je suis en objet.
    Dans Hibernate c'est pareil : Query.list() revoie une seule liste, meme si les objets sont hétérogènes.

    Why not? Si c'est une demande d'évol. ! Le principe n'est t-il pas de répondre aux besoins de l'utilisateur à l'instant t ?
    Le principe en objet c'est l'encapsulation des données, la séparation des responsabilités et le respect du contrat.

    Donc je ferai un "BasicSearchResult" qui renvoie une seule liste hétérogène List<Object>. Donc une responsabilité "base de données"

    Et un "GroupByType" qui prend une List<Object> et retourne une liste de listes groupées par type. Donc une responsabilité "mise en forme"
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Je comprends mais c'est curieux comme raisonnement pour moi. Quant à Hibernate, je n'ai jamais vu de HQL qui renvoyait des bean différents, faut que je look. En fait, tu pars du principe que pour un affichage de données standards, nul besoin d'avoir conteneur spécifique, mais seulement un conteneur d'objets quelconques. Et on délègue à la vue le soin de mettre en forme à sa convenance ?

  10. #10
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par quarky Voir le message
    En fait, tu pars du principe que pour un affichage de données standards, nul besoin d'avoir conteneur spécifique, mais seulement un conteneur d'objets quelconques. Et on délègue à la vue le soin de mettre en forme à sa convenance ?
    C'est ce que j'ai compris de ton problème. Tu as une responsabilité "modèle" qui est de faire une recherche sur plusieurs BO, et une responsabilité "vue" qui est de présenter les résultats par type.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Oui, c'est ça.
    Mais cette réflexion partait en fait d'un hypothétique problème d'optim. Car cette fameuse JSP sera notre main page et c'est pour cela que je me posait cette question. Il peut être intéressant pour moi de reconsidérer cette phase de dév. avec ce que tu proposes, qui est visiblement pour toi une solution instinctive ?

    Merci

  12. #12
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par quarky Voir le message
    Il peut être intéressant pour moi de reconsidérer cette phase de dév. avec ce que tu proposes, qui est visiblement pour toi une solution instinctive ?
    C'est pas vraiment "instinctif". C'est plutôt la résultante de plusieurs années passées à faire des architectures, et a tirer leçons de mes erreurs. (si, si... j'essaye).

    Ce que j'ai appris c'est qu'il vaut mieux faire un design simple et clair, puis ensuite ajouter "par dessus" des optimisations pour un cas particulier (cache, court-circuits, ...).

    Faire un design optimisé pour un cas particulier, c'est prendre le risque de se retrouver piégé lors des futures évolutions/améliorations. Car s'il y a bien une constante, c'est que rien n'est jamais figé.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 34
    Points : 34
    Points
    34
    Par défaut
    Merci pour tes conseils.
    J'essaierai de faire un feedback sur ce forum à l'issu de mes investigations.

    Ulrich

Discussions similaires

  1. Multi Selection List
    Par Soulama dans le forum Grails
    Réponses: 0
    Dernier message: 19/01/2015, 19h53
  2. Liste déroulante multi colonne
    Par justiniany dans le forum Access
    Réponses: 3
    Dernier message: 11/09/2006, 02h01
  3. Multi liste deroulante
    Par Mtp13tom4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/04/2006, 09h40
  4. result list et requete..
    Par Fritzoune dans le forum Access
    Réponses: 2
    Dernier message: 19/10/2005, 11h17

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