-
Historique en Java
Bonjour,
N'ayant pas trouvé ce sujet déjà ouvert sur le forum, je poste ma question ici :
Dans le cadre de mon stage, je dois réaliser un programme "simple" qui permet de créer un historique des opérations effectuées sur des véhicules.
Par exemple, il est possible d'ajouter une voiture avec ses différentes caractéristiques ainsi que son propriétaire.
Je souhaiterais, qu'à chaque création d'un véhicule ou d'un propriétaire, il soit inscrit la référence vers le véhicule et son propriétaire ainsi que la date et l'heure de la création.
Le problème rencontré (qui doit venir de la conception) est que je ne sais pas vraiment comment faire... Je pensais faire une classe "Historique" possédant les maps de propriétaires (possédant l'identifiant du proprio et sa date) et de véhicules (possédant l'identifiant du véhicule et sa date) qui seraient mises à jour à chaque ajout ou retrait.
Le souci rencontré est que je ne sais pas où instancié mon historique... Sachant que mon programme aura une interface graphique (au final).
J'ai pensé également faire une classe utilitaire juste pour l'historique, mais je ne sais pas si c'est très correct niveau COO.
Merci d'avance pour vos réponses.
-
Salut,
en lisant rapidement ton post, je pense que les classes :
- Proprietaire
- Vehicule
- Operation
suffisent.
Tu persistes tout ca grâce à JPA ou JDBC.
-
- Par rapport à JDBC : Je ne souhaite pas effectuer de connexion à un SGBD. J'ai la contrainte d'enregistrer ma BD sous forme de fichier (je pensais opter pour le XML).
- Par rapport à JPA : Suis-je obligé d'utiliser les EJB si je souhaite utiliser la persistance ?
-
si tu veux pas de SGDB, t'aura pas de JPA.
Pour stocker dans un fichier type xml, tu as des outils comme xstream qui peuvent te servir.
-
Je vois.
Je viens de lire un article fort intéressant à ce propos : http://ericreboisson.developpez.com/...a/xml/xstream/
A ce sujet, j'ai juste une question :
Par rapport à la sérialisation intégrée dans la JDK (cf java.io), qu'est-ce que cela apporte de plus ?
D'après ce que j'ai lu dans l'article, j'en ai retiré :
- de meilleures performances
- possibilité de ne pas sérialiser toutes les propriétés d'une classe
Est-ce vrai ? Est-ce tout ?
Merci pour vos conseils.
-
la serialisation par défaut est surtout fortement dépendante de tes classes. Si demain tu change un peu ta classe, les fichiers deviendront impossible à désérialiser. tu ne veux pas que ton client perde ses données à chaque mise à jour :D
-
D'accord. Donc avex Xstream, le processus de sérialisation est plus souple et moins dépendant de la classe.
C'est vrai que c'est intéressant.
Je vous remercie pour vos conseils.
Je considère le sujet comme résolu.