-
Pb conception C++
bonjour,
J'ai une question de conception en c++. Je débute en programmation objet et j'ai conçu une application graphique basée sur une boite de dialogue.
Pour simplifier et donner un exemple concret, un utilisateur choisit le titre d'un ouvrage, l'application se connecte à une base de donnée et récupère les informations de l'ouvrage(année, auteur,...)
Pour réaliser cela, j'ai deux classes principales, une permettant de gerer les bases de données, d'effectuer des requêtes et une autre représentant l'ouvrage et ses attributs.
Les deux classes ont un couplage nul ce qui me permet la réusabilité de ces classes ailleurs mais du coup le code applicatif dans mes évènements est trop gros et difficile à maintenir. Si j'opte pour un couplage fort , je perd ma reusabilité mais je simplifie grandement mon code applicatif. L'application fonctionne mais je pense que je manque encore d'abstraction et j'ai peut etre mal cerné le problème. Qqun aurait-il une idée de la démarche à adopter pour rendre cela maintenable? (crétion de classe tierce, heritage des classes de bases,.....)
merci
-
Salut,
A vrai dire, il n'y a rien à faire, il faudra bien à un moment que les deux classes se rejoignent quelque part...
Ta classe qui "attaque" la base de donnée serait un candidat idéal pour contenir la classe ouvrage...
Si tu veux que les deux soient strictement réutilisable, le plus facile est sans doute de créer une troisième classe qui soit la spécialisation (héritage) de la première pour fournir les informations sous la forme de la deuxième à l'application...
L'idée de l'utilisation de template pourrait sembler intéressante, étant donné que les comportement de la classe qui attaque la base de données sont toujours identiques:
- envoyer la requete
- (obtenir la réponse)
- fournir les données sous la forme adéquate (un template permet de n'avoir que cette fonction à spécialiser)
En fait, il faut, ni plus ni moins, partir sur le principe du "Modele Vue Controleur" ;)
-
Je te conseillerai de faire un heritage de classe ou d'interface sur tes classes d'accées aux données. Mais d'un autre coté il peut etre interessant de réaliser un accées aux données generalisé (une classe pour tes requetes).
Je te conseil cette article appliquer aux PHP : http://www.symfony-project.org/book/...Symfony-s-Code
En theorie, ou avec des exemples simple tout est généralement simple, mais dès que l'on touche à la réalité c'est different. Le plus dur est de faire la par des chose en la reutilisation du code, et la simplification.
-
ok,je vous remercie, je vous rejoins concernant l'heritage de classe ou d'interface. Je vais jeter un coup d'oeil à tout ça.
merci pour le lien themadmax, il est super! :king: