Voici le problème: notre classe principale (disons: Contract) change chaque année. Certaines propriétés sont ajoutées, d'autres sont supprimées. Nous ne savons pas à quoi cela ressemblera l'année prochaine. Cela peut changer beaucoup ou pas du tout. D'autre part, nous avons maintenant (nouvelle exigence ...) de garder un historique de chaque contrat. Chaque fois que l'utilisateur met à jour un contrat, l'objet entier doit être stocké dans une sauvegarde (par exemple, sérialisé dans une table).Comment implémenter le "versioning de classe" (en utilisant une version différente de la même classe)
Bien sûr, il faut pouvoir le relire ... Une option (brutale) est d'avoir une nouvelle classe de contrat chaque année (Contrat2008, Contrat2009, ...).
Mais ce serait très lourd (et moche) car beaucoup de classes dépendent de contrat - en fait, nous devrions créer un tas de nouvelles classes chaque année.
Avez-vous déjà eu ce type de problème? Toute suggestion ?
Merci d'avance!
(Nous utilisons C# 2.0.)
AJOUTÉE: Merci pour vos réponses. Nous nous demandons maintenant comment nous pourrions utiliser un dictionnaire/un fichier XML pour implémenter le versioning sans casser tout le code. Dictionnaire semble très sexy dans ce contexte: o)