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

Bases de données Delphi Discussion :

Où sont stockées les données des objets ?


Sujet :

Bases de données Delphi

  1. #1
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut Où sont stockées les données des objets ?
    bonjour
    j'ai l'habitude de programmer des applications de gestion qui stockent les donnés dans des tables (base de donné),maintenant je veut faire un peut de la programmation objet (je veut convertir une de mes applications vers une application orienté objet):
    ma question :
    l’orienté objet utilise les classes et et le objet ,ou sont stocker les donnés des objets et classe ? est ce que dans des tables ? ou bien il y a une autre méthode ?

    merci de m'aider .
    cordialement.

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par rec82 Voir le message
    bonjour
    j'ai l'habitude de programmer des applications de gestion qui stockent les donnés dans des tables (base de donné),maintenant je veut faire un peut de la programmation objet (je veut convertir une de mes applications vers une application orienté objet):
    ma question :
    l’orienté objet utilise les classes et et le objet ,ou sont stocker les donnés des objets et classe ? est ce que dans des tables ? ou bien il y a une autre méthode ?

    merci de m'aider .
    cordialement.
    euh...les deux notions ne sont pas liées...on peut faire de l'objet sans base de données ou des bases de données sans objets, et on peut utiliser les deux en même temps.

    après tu parles peut-être des objets métiers, TClient, TFacture...et bien dans ce cas il faut une méthode de sérialisation qui peut se faire vers une base de données ou un fichier JSON, un WebService, un ce que tu veux en fait.

    tu peux même imaginer avoir un objet TFacture dérivé en TFactureBDD et TFactureJSON par exemple, le premier serait lu/écrit dans une BDD, le second dans un fichier JSON. ça te permet d'avoir plusieurs versions de ton application sans remettre en cause la logique métier des tes objets (une facture doit avoir un client, qui doit avoir un nom....), les contraintes ne sont plus (seulement) déclarées sur la BDD mais (avant tout) au niveau des objets.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut
    merci pour votre réponse.

    et on peut utiliser les deux en même temps.
    comment s'il veut plais ,un peut d'explication.

    en effet :j'ai une base de donné qui contient des donnés (des ouvrage électricité lié entre eux pars des lignes délectricité),je veut faire une interface graphique(outil de dessin ) et lié chaque ouvrage dans la base de donné par un objet dans l'espace de dessin.

    cordialement

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Citation Envoyé par rec82 Voir le message
    comment s'il veut plais ,un peut d'explication.
    Difficile d'être plus clair que Paul TOTH, il te faut assimiler cette notion d'objet : Guide Pascal et Delphi - les Objets

    Pense qu'une TForm c'est déjà un objet, à chaque écran que tu réalises, tu fais de l'héritage sans t'en rendre compte !
    une TStringList est objet ...
    un TDataSet c'est un aussi objet

    la POO - Programmation Orientée Objet est une méthode de programmation, c'est la façon de structurer son code
    Jusqu'à présent, tu as été plutôt un utilisateur de classe technique existante fournie par Delphi

    Tu as la volonté d'écrire aussi ton code métier en POO, tu as tout à fait raison, tu veux devenir un créateur de classe métier
    Dans ton cas, cela sera principalement une encapsulation de TDataSet dans un objet métier,
    chaque table aura un objet métier aidant à manipuler l'objet via ses property, permettra le chargement (Load), la sauvegarde (Save)
    Tu pourras intégrer dans le Save, toute une série de contrôle de validité des données.

    Je suppose qu'au début, tu vas juste séparer la partie TForm de la partie Métier
    L'idée est de faire en sorte que l'objet Métier soit utilisable un peu partout dans le code SANS dépendance à une ou plusieurs TForm
    La TForm et ses controls/events comme OnClick ne devront manipuler QUE les controles de la fenêtre, dès que cela concerne le métier, cela doit appeler des méthodes de ou des objets métier


    Sinon pour ton outil graphique, ayant participer au développement d'outil de supervision, je te conseille de séparer la partie dessin de la partie Métier
    Sur le dessin, il ne faut voir que de Point et des Connexions entre Points
    Ne te concentre que la dessus au départ, indice : le dessin du point et des connexions seront des méthodes virtuelles

    Ensuite, tu hérites de Point et tu lui ajoute les propriétés métier (via une composition sur l'objet métier )
    selon le nombre de type de point, tu n'auras pas les mêmes propriétés
    faire beaucoup de classe peut être lourd, il te faut trouver un moyen de trouver les éléments communs pour créer une chaine logique d'héritage ( ou de composition)
    Au lieu de gérer une classe par type, tu peux avoir une classe générique et une propriété type énumérée
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par rec82 Voir le message
    comment s'il veut plais ,un peut d'explication.

    en effet :j'ai une base de donné qui contient des donnés (des ouvrage électricité lié entre eux pars des lignes délectricité),je veut faire une interface graphique(outil de dessin ) et lié chaque ouvrage dans la base de donné par un objet dans l'espace de dessin.
    comme explicité par Paul TOTH ou ShaiLeTroll, vous voulez "mapper" vos objets avec une base relationnelle.
    Une définition simple et un exemple (en Java mais très compréhensible) : https://fr.wikipedia.org/wiki/Mapping_objet-relationnel
    A partir de la, vous pouvez vous en inspirer et faire le lien entre vos données en base et des objets implémentés dans une application Delphi.

    Ensuite après avoir compris le principe, vous pourriez aussi utiliser des frameworks existants et dédiés à Delphi. en voici quelques uns :
    tiOPF : http://tiopf.sourceforge.net/index.shtml (open source)
    Synopse mORMot framework : http://synopse.info/fossil/wiki/Synopse+OpenSource (open source)
    InstantObjects : http://www.instantobjects.org/
    DORM is an ORM for Delphi : https://code.google.com/p/delphi-orm/
    hcOPF - an ORM for Delphi : http://sourceforge.net/projects/larryhengensopf/
    Marshmallow ORM framework : https://bitbucket.org/soundvibe/marshmallow/wiki/Home

    Et d'autres encore, mais commerciaux...
    Philippe.

  6. #6
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 324
    Points : 217
    Points
    217
    Par défaut
    merci beaucoup pour votre aide et vos idées.
    cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Où sont stockés les chemins des workspaces?
    Par mailbox dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 30/05/2012, 18h09
  2. Comment sont stockées les données sur le Cloud?
    Par bichr dans le forum Microsoft Azure
    Réponses: 0
    Dernier message: 30/03/2011, 13h15
  3. Où sont stockées les miniatures des dossiers
    Par Nykoo dans le forum Windows XP
    Réponses: 2
    Dernier message: 21/05/2009, 21h31
  4. Où sont stockées les données d'un ImageList ?
    Par karto dans le forum Windows Forms
    Réponses: 5
    Dernier message: 18/01/2008, 18h12
  5. [DEV] Protéger les données des objets en objective-C
    Par Ceylo dans le forum Objective-C
    Réponses: 0
    Dernier message: 01/12/2007, 17h11

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