Bien définir une structure pour faciliter son utilisation - Algo - Programmation
Marsh Posté le 23-02-2011 à 22:08:08
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.
Marsh Posté le 23-02-2011 à 18:42:43
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 ...
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:
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.