IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Architecture Discussion :

Comment rendre les données persistantes


Sujet :

Architecture

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment rendre les données persistantes
    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#

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Citation Envoyé par Valmou Voir le message
    l'inconvénient , je suis obligé de transferer la totalité de mes données
    je suis totalement ignorant, voir hermétique, coté les BDs, mais pour ne pas devoir tout lire il suffit d'utiliser des clefs (primaires ici), non ?

    Citation Envoyé par Valmou Voir le message
    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.
    via la réalisation d'une interface genre serializable pour ne pas tout mélanger

    Citation Envoyé par Valmou Voir le message
    Sinon je code en C#
    personne n'est parfait

    bon d'accord, c'est nul , mais une perche pareille, c'était trop tentant
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par bruno_pages Voir le message
    je suis totalement ignorant, voir hermétique, coté les BDs, mais pour ne pas devoir tout lire il suffit d'utiliser des clefs (primaires ici), non ?
    tentant
    Ce que je veux dire c'est que mon objet Album manager instancie/sauvegarde la totalité des albums. Moi je me dis que lorsque j'ajoute un object dans un album il ne sauvegarde que cette object dans la bd.

    Citation Envoyé par bruno_pages Voir le message
    via la réalisation d'une interface genre serializable pour ne pas tout mélanger
    oui je suppose que chaque de mes object doit implémenter une interface spécifque qui permettent de faire le lien entre la bd et les objects. Mais je vois pas comment gérer les suppressions d'enregistrement par exemple.

    Citation Envoyé par bruno_pages Voir le message
    personne n'est parfait

    bon d'accord, c'est nul , mais une perche pareille, c'était trop tentant
    Niark c'est pas le language qui fait un bon développeur :p

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    salut

    je suis nul en "langage objet" et ses ascronymes associés,mais le bon sens voudrait que :

    • albummanager manage 1 album
    • DBmanager mange l'ensemble....


    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Citation Envoyé par Valmou Voir le message
    je vois pas comment gérer les suppressions d'enregistrement par exemple.
    peut être faudrait-il prendre le problème à l'envers, les objets se sauvant eux-même lorsqu'il sont modifiés/créés.

    Une autre solution serait que chaque objet sache s'il a été modifié (booléen mis à jour par les setter etc et par le constructeur) et donc s'il à besoin d'être sauvegardé. Le manager demande à tous ses objets de se sauvegarder, mais seuls certains d'entre eux le font.
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/08/2005, 08h17
  2. comment modifier les données d'une table à travers un dbgrid
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 12
    Dernier message: 19/07/2005, 09h51
  3. Comment classer les données d'une TStringList ?
    Par cmickyplus dans le forum Langage
    Réponses: 2
    Dernier message: 25/06/2005, 16h44
  4. [cr 8.5] comment exploiter les données d'un "array"
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 09/06/2005, 14h03
  5. [JTable] Comment récuperer les données d'un fichier texte ?
    Par Makunouchi dans le forum Composants
    Réponses: 2
    Dernier message: 03/05/2005, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo