Bonjour à tous,
Je développe actuellement une application pour laquelle j’ai besoin d’enregistrer des objets, je me suis donc tout naturellement tourné vers la sérialisation.
L’utilisation de la sérialisation et de la déserialisation est très simple je vous l’accorde et ne devrais même pas aboutir à un post ici.
Cependant je me heurte à un problème lors de la déserialisation. Ce problème est plus conceptuel que technique.
En effet, j’enregistre dans un stream via la sérialisation un nombre indéfini d’objets qui peuvent être de différent type (une vingtaine) chacun ayant un nombre de paramètres et de type de paramètre très différents. De plus il n’y a aucune logique entre le type de l’objet et son ordre dans le stream (seul le type du premier ne change pas).
Pour désérialiser, on doit créer un objet du type à désérialiser puis désérialiser. Et c’est là que le bat blesse ! Je ne connais pas le type du prochain objet qui va être désérialisé !
Pour l’instant, les solutions que j’entrevois sont :
1 - Ouvrir le stream en double, le première pour la déserialisation et le second pour faire des recherche de texte et aller lire le type de l’objet avant de le désérialiser Mais cella me semble un peu boiteu !
2 – Au moment de la sérialisation, enregistrer le type de l’objet suivant dans l’objet sérialisé. (Le type du premier objet est connu)
Quelqu’un voit t’il quelque chose de plus élégant et/ou de plus standard ?
Merci pour les quelques minutes consacrées à la lecture de ce post.
Partager