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

  FORUM HardWare.fr
  Programmation
  Algo

  Bien définir une structure pour faciliter son utilisation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bien définir une structure pour faciliter son utilisation

n°2059169
charlebakh​tovsky
Posté le 23-02-2011 à 18:42:43  profilanswer
 

Bonjour,
 
Je voudrais sauvegarder dans mon programme un état pour chaque utilisateur "P" qui travaille sur un document "d" (un utilisateur peut travailler sur plusieurs documents). Un état est représenté par 3 variables: cur_cl (un entier), cur_of (un entier aussi) et cur_ops qui est une liste de valeurs {(op1, type1), (op2, type2), ...)}. Je peut ajouter un nouvel état sur un document (d) pour un utilisateur (P) qui n'existais pas (P->d->état), ou pour un utilisateur qui existais mais sur un document sur lequel il ne travaillais pas ... Je veux dire que le nombre d'utilisateurs n'est pas fixé ou connu dès le départ ...
 
http://imageupload.org/?di=1412984829906
 
Bref, ce que je voudrais c'est avoir un idée sur comment représenter, et bien structurer tout ça. Je ne fait pour l'instant que l'algo mais je voudrais le structurer d'une façon qui me facilitera l'implémentation après.
 
Juste pour information, les fonctions qui seront appelé sur cette structure seront en gros les suivants:

Code :
  1. UpdateCur_cl(P, d, newValue)
  2. { /* update la valeur cur_cl par newValue, (P-->d-->cur = newvalue) */ }
  3. UpdateCur_of(P, d, newValue)
  4. { /* update la valeur cur_of par newValue ... */ }
  5. UpdateCur_ops(P, d, op, t)
  6. { /* update le type de op par le nouveau type t, si op n'existe pas (op, t) sera ajouté */ }
  7. checkState(P, d)
  8. {
  9.    if (P-->d n'existe pas) then
  10.    {
  11.       // Le créer;
  12.       // Initialiser P-->d-->cur_ops avec vide {};
  13.       // Initialiser P-->d-->cur_cl et cur_of avec 0;
  14.    }
  15. }
  16. // ...


 
Donc ma question concerne seulement la représentation de cette structure, de façon à me faciliter la création d'états, l'accès au valeurs, leur mise à jour ...
 
Merci bien.

mood
Publicité
Posté le 23-02-2011 à 18:42:43  profilanswer
 

n°2059210
billgatesa​nonym
Posté le 23-02-2011 à 22:08:08  profilanswer
 

Bonjour,
 
D'une manière générale, le secret pour une bonne structuration est de connaître l'ordre d'importance des différentes choses. On peut aussi se baser sur l'ordre de stabilité, en mettant en premier, les choses qui bougent peu, et ensuite celles qui bougent beaucoup (comme en comptabilité).
 
Ici, je vois : les états, les personnes, et les documents.
D'après votre graphique, il semble que le plus important pour vous soit les états.
Personnellement, j'aurais plutôt mis en premier les personnes ou les documents.
 
D'autre part, vous avez choisi une structure arborescente, alors qu'une structure de base de données relationnelle est plus courante.
Par exemple, vous auriez une table des personnes et une table des documents. Dans la table des documents, vous auriez un indicateur pour dire si le document est utilisé ou non, et si oui, par qui. Ensuite, vous pourriez faire des requêtes avec des jointures pour trouver toutes les informations que vous voulez.


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

  Bien définir une structure pour faciliter son utilisation

 

Sujets relatifs
Structure de donnéeUtilisation proxy avec jersey
Afficher la structure fichiers et dossier en XML (php)utilisation de cmake
structure Vs classeRécupération et utilisation des menus windows en JAVA
utilisation de sous fonction dans un objet et appel de methode dedans[Excel] Utilisation de la fonction SI imbriquée
verifier que le flux est bien chiffrer entre client et serveur[C] structure de taille variable ?
Plus de sujets relatifs à : Bien définir une structure pour faciliter son utilisation


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