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 :

Classes ou fonctions ?


Sujet :

C++

  1. #1
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut Classes ou fonctions ?
    Bonsoir,

    Je programme actuellement un "bot irc" comme vous aviez pu le constater dans mes différents postes. Et j'ai eu l'idée de créer une classe pour tout ce qu'est gestion de base de donnée avec mysql. Et une seconde pour toutes ce qui est "outils", ce qui m'aide pour parser du texte par exemple. Seulement si je fais cela, je serais obligé de créer une classe pour la création et gestion de mon socket. Je me demande donc dans quelle direction je dois me dirriger, soit j'utilise des fonctions soit je refais tout en utilisant des classes. Si vous me proposez les classes, auriez vous des tuto sur l'architecture à employer ? Histoire que tout soit bien structuré et que chaque classe ai un rôle précis. J'ai quelque idées en tête, tout d'abord une classe gèrant le socket, puis une classe gèrant tout ce qui à une relation avec mysql et une dernière qui serait mes outils. Pour les outils je me demande, si je ne devrais pas garder mes fonctions au lieux de les mettre dans une classe ? Ce serait sympa de votre part de me proposer votre "architecture" ^^

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    J'ai envie de dire :
    - Une classe est intéressante pour conserver de l'état
    - Une classe est intéressante pour encapsuler des détails d'implémentation
    - Une classe est intéressante quand on l'utilise de manière polymorphe

    J'oublie sûrement des cas...

  3. #3
    Membre averti
    Profil pro
    Responsable technique
    Inscrit en
    Février 2006
    Messages
    363
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable technique

    Informations forums :
    Inscription : Février 2006
    Messages : 363
    Points : 352
    Points
    352
    Par défaut
    J'en rajoute une:
    -Une classe est intéressante niveau reflection du codage. Ca oblige à faire des choses qui sont plus indépendantes que des fonctions.

    Fait une classe MySQL et dedans tu y code toutes tes fonctions pour MySQL
    Fait une classe Outil et tu code tes fonctions pour les outils
    Et enfin ta classe Socket

    Une fois que tu as fait ca, tu regarde comment tes objets peuvent intéragir entre eux. Si tu ne voit pas de lien c'est que tu as peut etre oublier d'implémenter des fonctions dans une ou plusieurs de tes classes.

    Imagine que tu as commencé à coder tes classes et la pas de bol tu t'apercoit qu'il manque des fonctions ou des données dans une des classes. Et bien le fait d'avoir des classes rend le reste du programme indépendant de tes modifications.
    Donc oui fait des classes.
    Si tu dois faire une librairie, utilise des pure interfaces pour rendre la technologie utilisé par la librairie independant du code du programme.

  4. #4
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    Merci pour toutes ces informations, je vais commencer par faire un schéma de mes classes et méthodes pour pouvoir commencer à coder tout ça en ayant une "architecture" de base et pour savoir qui fait quoi et agît sur quoi. Je vous proposerais ensuite mon travail, pour avoir votre avis sur la chose.

  5. #5
    Membre averti
    Profil pro
    Responsable technique
    Inscrit en
    Février 2006
    Messages
    363
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable technique

    Informations forums :
    Inscription : Février 2006
    Messages : 363
    Points : 352
    Points
    352
    Par défaut
    Ok vas y. Amuse toi si c'est pour rigoler sinon si c'est pour le travail bon courage.

  6. #6
    Fry
    Fry est déconnecté
    Membre régulier Avatar de Fry
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 150
    Points : 119
    Points
    119
    Par défaut
    Pour faire le shema de tes classe tu devrai utiliser l'UML il y a bcq de documentation la dessus et de programme qui peuvent te simplifier la tache( BoUML http://bouml.fr/ , ArgoUML http://argouml.tigris.org/ ...)

  7. #7
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    Merci, je comptais justement utiliser l'UML et chercher de la doc ^^

Discussions similaires

  1. classe et fonction membre
    Par tenderstoune dans le forum C++
    Réponses: 4
    Dernier message: 26/07/2007, 23h20
  2. Réponses: 2
    Dernier message: 01/06/2007, 08h57
  3. [classe ou fonction] fonction magic number ?
    Par Leinad dans le forum Langage
    Réponses: 13
    Dernier message: 28/07/2006, 17h58
  4. problème classe et fonction
    Par zmatz dans le forum C++
    Réponses: 14
    Dernier message: 19/10/2005, 21h46
  5. Classes - Sub/Fonction vs Property
    Par j_bolduc dans le forum ASP
    Réponses: 6
    Dernier message: 24/08/2005, 19h19

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