Bonjour,
j'ai un problème rémanent dans toute mes réalisations que je vous expose ici.
j'ai par exemple envie de créer une gestion d'album.
Je crée donc les classes suivantes :
Album manager : qui contient tout mes albums et d'autres informations
Album = un album qui contient les objects ( images,etc etc )
AlbumItem = items qu'un album peut contenir ( que des reference)
Fort de cette modélisation rapide, je fais vite fait une interface pour gérer tout cela avec des forms ou autres. L'ensemble des objets du gui manipule donc mes trois 3 classes ci dessus.
Je suis content je veux donc pouvoir sauvegarder mes données.
Tranquillement, je serialise mon object album manager et j'obtiens une superbe fichier xml que je peux stocker ou je veux.
La dessus , je me dis que j'aimerais bien mettre cela dans une base de données sachant que je ne veux pas casser l'existant ( ma gestion marche tres bien, je peux sauvegarder en local)
Techniquement parlant la mise à jour de la base de données ne pose pas de problème (suffit de coder :p ), et j'ai déjà un existant qui me permet de gerer mes différentes tables d'une base de données distante via webservice.
Et la, en terme de conception, ca coince, mon idée:
Je dois me créer un object databasemanger qui saurait sauvegarder une instance de mon objet Album manager dans une base de données et instancier un objet à partir d'une base de données
Sauvegarde de album manager :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 AlbumManager.SaveToDv(){ pour chaque album{ sauvegarde attributs dans table album pour chaque item{ sauvegarde attributs dans table item } } }
Instanciation de album manager :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 AlbumManager.GetFromDb(){ selection de tous les albums pour chaque album{ instanciation nouvel album,copie des attributs selection de tous les items pour chaque item{ instanciation de l'item, copies des attributs ajout de l'item à l'album } } }
- L'intérêt c'est que l'accés aux données est completement dissociée mon code
- l'inconvénient , je suis obligé de transferer la totalité de mes données
L'autre alternative, serait de greffer les accés à la base de données directement dans les objets mais je vois pas bien comment faire.
Donc voila si vous avez des idées, des remarques , des critiques
Sinon je code en C#
Partager