-
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
-
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...
-
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.
-
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.
-
Ok vas y. Amuse toi si c'est pour rigoler sinon si c'est pour le travail bon courage.
-
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/ ...)
-
Merci, je comptais justement utiliser l'UML et chercher de la doc ^^