Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1563 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Problème de conception par rapport à l'utilisation d'une BD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Problème de conception par rapport à l'utilisation d'une BD

n°1414928
toutoune
Posté le 27-07-2006 à 21:54:13  profilanswer
 

Bonjour à tous,
J'ai un problème de conception au niveau d'un site web que je développe en J2EE. Je pense que c'est un problème bête mais qui ma tracasse pas mal!
Je vais prendre un exemple simple :
Imaginons que je voudrais écrire une appli dans laquelle j'ai des utilisateurs auquels j'associes des messages (emails par exemple).
Page 1 : permet d'afficher uniquement les objets de ces messages pour un utilisateur donné.
Page 2 : Un clic sur un message me permet de consulter tout le message.
 
Je développe une classe permettant l'instanciation de mes utilisateurs et une autre permettant la manipulation de message.
Ces messsages sont stockés dans une BD.
La question que je me pose est la suivante : lorsque j'instancie un utilisateur, si je fais la récupération automatique des messages associés et de tout leur contenu, c'est une perte de temps au niveau traitements lorsque je vais afficher la page 1 : je vais en effet charger tous les messages alors que je n'ai besoin que de leurs objets.
Autre possibilité, j'ai un getMessages() dans la classe utilisateur, que je n'apelle qu'en cas de besoin. Mais à nouveau, je vais renvoyer tout (corps, objet, ect...) pour rien.
Comment optimiser cette récupération d'info en fonction des besoins? Quand dois-je créer mes messages? Dans le contructeur d'un utilisateur? Je pourrais en effet très bien avoir envie de connaitre le nombre de messages qu'à un utilisateur sans les afficher.
 
Autre question, qu'est ce que le pattern Factory? Peut-il m'être utile?


Message édité par toutoune le 27-07-2006 à 22:08:05
mood
Publicité
Posté le 27-07-2006 à 21:54:13  profilanswer
 

n°1415008
lonely
Posté le 28-07-2006 à 01:05:24  profilanswer
 

Il faudrait faire au moins 4 colonnes dans la table Message et 4 champs dans une classe Message :
Un pour le nom ou l'identifiant de l'utilisateur (celui qui reçoit le message) qui servira dans la page 1
Une identifiant unique pour le message (par example un numéro de séquence) qui servira dans la page 2
Un pour l'objet du message
Un pour le contenu du message
 
Lorsque tu affiches tout tes messages page 1, tu récupères uniquement la colonne objet et l'identifiant du message pour l'utilisateur souhaité.
Si tu cliques sur la ligne de ton message, tu afficheras le contenu page 2 qui tu récupéreras gràce à son identifiant unique (car plusieurs message peuvent avoir le même objet).
 
Dans ta classe Message, il vaut mieux créer une méthode static qui retourne un tableau de Message avec une méthode getMessages(utilisateur) qui retournera tous les messages d'un utilisateur sauf le contenu puis faire un appel à une autre méthode static getMessage(numéro_message) pour afficher uniquement le message correspondant.
 
Tu peux aussi ajouter le nom de la personne qui envoie le message, la date, les autres personnes en copies ... C'est plus sympa.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Problème de conception par rapport à l'utilisation d'une BD

 

Sujets relatifs
Probleme de using library en c#Problème avec des " lors de la transformation du résultat
Probleme requete WMI interminable[RESOLU] EJB : Problème méthode findAll() avec Jonas
Aide utilisation du logiciel CopiloteProbleme de couleurs de police sous Firefox
Problème de couleur de fond dans newsletter avec Cybernewsletter !!![resolu] problème d'affichage d'images sous IE
Problème avec les vectors[Flash/AS] problème d'affichage avec Firefox
Plus de sujets relatifs à : [Java] Problème de conception par rapport à l'utilisation d'une BD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR