Ben pas comme ca :)
Y'a pleins de solutions.
Dans tous les cas t'as une classe métier, appelons la : Metier.
Il faut qu'elle soit parfaitement indépendante de toutes bibliothèques techniques, qu'elle soit graphique ou accès au FS.
Ensuite tu peux :
- faire une classe MetierSerialisable qui hérite de Metier et qui se trouve dans la couche de persistance : problème, il faut passer par une FabriqueAbstraite pour garantir que ce sont bien tes objets de persistance qui sont construits, bref ca t'oblige à modifier ta couche métier.
- injecter la méthode Serialize à l'aide d'un outil de tissage d'aspect (programmation par aspect).
- utiliser une classe séparée (genre XMLSerializer) qui sérialise tous tes types métiers et qui parcours ta structure.
- utiliser une classe séparée qui sérialise automatiquement par Reflection.
- utiliser une lib de mapping qui fera tout le boulot pour toi. Elles utilisent généralement une des techniques au dessus.
L'idée est dans tous les cas de pouvoir modifier/changer de moyen de persistance sans jamais toucher au modèle métier.
[^] # Re: Qt ou Java ou .NET ?
Posté par TImaniac (site web personnel) . En réponse au journal Manque d'arguments pour Qt... Help !. Évalué à 2.
Y'a pleins de solutions.
Dans tous les cas t'as une classe métier, appelons la : Metier.
Il faut qu'elle soit parfaitement indépendante de toutes bibliothèques techniques, qu'elle soit graphique ou accès au FS.
Ensuite tu peux :
- faire une classe MetierSerialisable qui hérite de Metier et qui se trouve dans la couche de persistance : problème, il faut passer par une FabriqueAbstraite pour garantir que ce sont bien tes objets de persistance qui sont construits, bref ca t'oblige à modifier ta couche métier.
- injecter la méthode Serialize à l'aide d'un outil de tissage d'aspect (programmation par aspect).
- utiliser une classe séparée (genre XMLSerializer) qui sérialise tous tes types métiers et qui parcours ta structure.
- utiliser une classe séparée qui sérialise automatiquement par Reflection.
- utiliser une lib de mapping qui fera tout le boulot pour toi. Elles utilisent généralement une des techniques au dessus.
L'idée est dans tous les cas de pouvoir modifier/changer de moyen de persistance sans jamais toucher au modèle métier.