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

C++ Discussion :

Projet c++ separer interface/gestion donnée


Sujet :

C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut Projet c++ separer interface/gestion donnée
    Bonjour,

    voila je manipule le C++ depuis une ou deux années mais je me rends comtpe que j'ai enormement de lacunes.

    je dois actuellement faire projet qui va gerer des données provenant des CAO electronique pour en faire des nomenclatures.

    Je vois comment faire (extraction de données dans les fichiers d'entrée, trie et stockage dans un documents XMl, affichage, etc.).

    Mais j'ai toujours fait des programmes de petites tailles et je n'ai jamais séparer ma gestion de données et mon interface ou meme les differentes type de gestion de données. J'ai toujours fait un projet ou tout etait inclu dedans.

    Et c'est la que j'ai un probleme. Je ne vois pas comment separer l'interface de ma gestion et par la suite que la gestion soit reutilisable par un autre programme! (je pense que c'est le principe de la DLL et j'ai vu le tuto pour).
    La dans mon cas par exemple je vais faire un bout pour l'extraction des données et le stockage. Un bout pour l'utilisation de ces données stockés. Un autre bout pour la mise à jour de ces données, etc...

    Mais par exemple ma fonction d'extraction de donnée et de stockage, si je l'a fait dans un autre projet, elle aussi aura un interface, non ? c'est possible de faire du c++ sans interface? Je dois juste créer une fiche dans mon projet ou juste une unité ?

    Enfaite je suis perdu comme vous le voyez ... pouvez vous m'indiquer la demarche ou des tuto. Car je commence vraiment à paniquer .


    de votre aide !

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Tu as raison : tu devrais rassembler dans une ou plusieurs bibliotèques DLL les classes / fonctions que tu va reutiliser.

    Au niveau de l'implementation, il te faudra une interface pour la distribuer aux utilisateurs de ta DLL.

    C'est meme le principe de tout composant...
    Ne pasnique pas tu y es presque

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    Citation Envoyé par ZaaN Voir le message
    Tu as raison : tu devrais rassembler dans une ou plusieurs bibliotèques DLL les classes / fonctions que tu va reutiliser.

    Au niveau de l'implementation, il te faudra une interface pour la distribuer aux utilisateurs de ta DLL.

    C'est meme le principe de tout composant...
    Ne pasnique pas tu y es presque
    le tuc que j'ai du mal a concevoir c'est que les DLL que je vais faire vont quand meme etre specifique au programme. Je vois pas comment qqun d'autre pourrai tles reutiliser... ?!
    si ma dll fait en sorte que l'application va chercher des informations dans un certain type de fichieret les extrait poru les mettre dans un autre fichier au format xml. L'organisation du fichier xml c moi qui l'aurait choisit donc ca va etre trop specifique non ?


    Et sinon poruquoi utiliser des dll. Les .h sotn bien independant et peuvent etre reutiliser par un autre programme, non ?

    NOTE : Je precise que je travaille sous Borland C++Builder 6 (d'ou le .h)



    encore pour vos futurs reponses !

  4. #4
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par adurandet Voir le message
    si ma dll fait en sorte que l'application va chercher des informations dans un certain type de fichieret les extrait poru les mettre dans un autre fichier au format xml.
    Pense générique, interface et abstraction. Exemple : La fonction "RecupererInfo()" de ton interface DLL restera universelle et l'organisation du fichier source et cible sera connu seuleument de la DLL. (au travers de la DTD)

    Citation Envoyé par adurandet Voir le message
    L'organisation du fichier xml c moi qui l'aurait choisit donc ca va etre trop specifique non ?
    Suis plus vraiment sur, mais l'organisation de ton code XML est inscrite dans un fichier DTD.

    DTD que ta DLL peut lire pour connaitre l'organisation.

    Citation Envoyé par adurandet Voir le message
    Et sinon poruquoi utiliser des dll. Les .h sotn bien independant et peuvent etre reutiliser par un autre programme, non ?
    Sur le principe: Tu proteges ton code source, plusieurs prog peuvent taper dans la meme DLL (disque + memoire economiseés), facilement remplacable, composant fini, etc...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    Citation Envoyé par ZaaN Voir le message
    Pense générique, interface et abstraction. Exemple : La fonction "RecupererInfo()" de ton interface DLL restera universelle et l'organisation du fichier source et cible sera connu seuleument de la DLL. (au travers de la DTD)



    Suis plus vraiment sur, mais l'organisation de ton code XML est inscrite dans un fichier DTD.

    DTD que ta DLL peut lire pour connaitre l'organisation.

    Pour le moment j'ai juste un document xml que je vais créer, je n'ai pas de DTD ?

    dois je moi meme le faire ?


    Citation Envoyé par ZaaN Voir le message
    Citation:
    Envoyé par adurandet
    Et sinon poruquoi utiliser des dll. Les .h sotn bien independant et peuvent etre reutiliser par un autre programme, non ?

    Sur le principe: Tu proteges ton code source, plusieurs prog peuvent taper dans la meme DLL (disque + memoire economiseés), facilement remplacable, composant fini, etc...
    Donc si j'ai bien compris le .h cest la meme chose qu'une dll en moins compliqué et non protegé ?

  6. #6
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par adurandet Voir le message
    Donc si j'ai bien compris le .h cest la meme chose qu'une dll en moins compliqué et non protegé ?
    ha ben pas du tout.

    le .h c'est pas du code (inline mis a part) mais juste une definition de tes classes, fonctions, ....

    ca sert a rien tout seul --> il te faut le code
    exemple :
    h + cpp => dll

    la DLL est ton composant compilé et directement executable.

  7. #7
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par adurandet Voir le message
    Pour le moment j'ai juste un document xml que je vais créer, je n'ai pas de DTD ?
    C'est comme si tu parles un langage decrit nul part. Seuleument celui qui parle (en l'occurence ta fonction writeXML) le connait. Personne d'autre ne peux l'utiliser.

    En somme cette DTD est ton interface de sortie coté fichier.

    Pr exemple si un de tes collègue developpe une DLL concurrente à la tienne (meme interface entrante et meme but) mais plus performante , tu pourrais lui donner ta DTD pour qu'il puisse en faire une version que tu puisse utiliser pour toi.

    Citation Envoyé par adurandet Voir le message
    dois je moi meme le faire ?
    elle tombera pas du ciel

    oui, mais il existe surement des moyens avancé pour faire tout ca, je ne connait pas assez. mais est ton ami.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    Citation Envoyé par ZaaN Voir le message
    C'est comme si tu parles un langage decrit nul part. Seuleument celui qui parle (en l'occurence ta fonction writeXML) le connait. Personne d'autre ne peux l'utiliser.

    En somme cette DTD est ton interface de sortie coté fichier.

    Enfaite moi je pensais que je creais un document xml, grâce a builder je manipulais ce document en utilisant le TXMLDocument qui permet de parcourir le document et qui permet de modifier le document. et puis pour finir j'enregistrais le document.

    Un peu comme l'utilisation d'un .ini mais en mieux.


    Je vois pas où j'utilise la DTD ...

    Désolé je suis larguer ... (la panique me gagne, tu commence a comprendre pourquoi)

  9. #9
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    tu peux tres bien utiliser le xml comme tu le fais. Mais le plus avec une DTD c'est que on definit dans un fichier separé les contenus acceptable par ton fichier.

    Ceci permet à tout le code qui doit taper dans ton xml de se conformer à ta definition.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    oui, j'avais lu ça sur google.

    Je me susi renseignersur le xml meme si il y a enormement de choses associé a ce langage je pense avoir retenu le principal.

    Je suppose que le DTD est associable au document xml en passant par builder.

    Je ne sais pas comment est former un document DTD mais je vais trouver va avec

    encore pour ton aide.

  11. #11
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par adurandet Voir le message
    Désolé je suis larguer ... (la panique me gagne, tu commence a comprendre pourquoi)
    dont panic it's organic

    Citation Envoyé par adurandet Voir le message
    Je suppose que le DTD est associable au document xml en passant par builder.

    Je ne sais pas comment est former un document DTD mais je vais trouver va avec
    parfait bonne chance

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    j'ai une nouvele question Zaan .


    Pour utilisé un document xml j'ai besoin, d'un TXMLDocument sur Borland.

    Mais si je veux l'utiliser grâce à ma DLL, il va falloir obligatoirement que je mette mon objet TXMLDocument sur un Form d'un projet C++Builder. Donc quand j'utiliserais ma dll cette forme va obligatoiremetn apparaitre, non ? pourtout il n'y aura rien dedans pour l'utilisateur... !


    Ou alors est ce que je dois mettre le TXMLDocument sur mon interface, et ma dll va se servir de celui ci... ?

    je bloque encore sur ce point??


    NOTE : j'ai trouvé comment ecrire le DTD, ca n'a pas l'air trop compliqué !


    je suis content je comprends de mieux le XML et ce qui l'entour! lol

  13. #13
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    Citation Envoyé par adurandet Voir le message
    Mais si je veux l'utiliser grâce à ma DLL, il va falloir obligatoirement que je mette mon objet TXMLDocument sur un Form d'un projet C++Builder. Donc quand j'utiliserais ma dll cette forme va obligatoiremetn apparaitre, non ? pourtout il n'y aura rien dedans pour l'utilisateur... !


    Ou alors est ce que je dois mettre le TXMLDocument sur mon interface, et ma dll va se servir de celui ci... ?
    Je connais pas assez ton projet, mais d'apres comme je l'ai compris, la fabrication de tes nomenclatures sera fais dans une DLL.
    Elle va recevoir tes données CAO et va cracher en format XML.

    Pour la production des nomenclatures:

    Si j'ai juste, tu dois donner juste les datas CAO, et les composant XML apparaitront uniquement dans la DLL.
    La DLL fabrique les xml.

    Ensuite il faut analyser les besoin de ton GUI. (et peut etre reprendre un xml généré par la DLL pour l'afficher ???)

    Si j ai faut tu peux mieux m'expliquer en MP.

Discussions similaires

  1. Réponses: 17
    Dernier message: 09/06/2008, 17h02
  2. Problème gestion données dans cin
    Par Jean_guy dans le forum C++
    Réponses: 2
    Dernier message: 04/02/2008, 09h28
  3. Réponses: 1
    Dernier message: 17/05/2006, 15h27
  4. [SGBD Libres] Conseils pour un projet de logiciel de gestion
    Par nh2 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 30/01/2006, 08h24
  5. [architecture]Projet de site/partage de donnée
    Par Seth77 dans le forum Général Conception Web
    Réponses: 18
    Dernier message: 10/12/2005, 09h26

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