Collection de classe ? [Résolu]

develomagaly 46 Messages postés mercredi 5 octobre 2005Date d'inscription 3 mai 2006 Dernière intervention - 20 janv. 2006 à 09:56 - Dernière réponse : florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention
- 23 janv. 2006 à 16:38
bonjour

Je vous explique en quelques mots mon problème .
J'ai une table sous MySql qui contient des informations sur les AMORTISSEMENT .
Je renseigne cette table au début car les informations qui s'y trouve sont reprises à plusieurs endroits . Donc j'ai fait une unité un_ent_amo ou je voudrais crée une classe avec mes champs a l'interieur
type_amo
mont_amo
amo_ded
amo_exe
etc ...

Seulement je peux avoir plusieurs type d'amortisemment LINEAIRE , MINIMUN, DEGRESSIF TOTAL et DEGRESSIF PARTIEL

Donc je voualis créer une collection de classe car je peux avois les élement en dessous a stocker

LINEAIRE MINIMUM DEGRESSIF T etc...
type amortissement 1 2 3
montant ammortissement 10 000 15 000 12 500
amort. non deductible 6 000 4 000 3 250
etc ...

Et plus tard j'utilise les données de cette facon :

J'ai un combobox avec une liste de numero ( 1,2,3, etc .. ) et ses numéro coorespondent au type amortissement . Quand l'utilisateur choisit l'amortissement 1 , toutes les données correspondant a type d'amortissement = 1 c'est a dire LINEAIRE sont affiché.

Je me suis dis que je pouvais utiliser une collection de classe pour gagner du temps pour ne pas à retourner dans la BDD à chaque fois mais je sais pas trop comment on utilise les COLLECTION DE CLASSE alors si quelqu'un pouvait m'aiguiller .

Ou alors si vous avez une autre proposition pour simple et plus rapide à me proposer n'esiter pas

Merci a tous !
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 23 janv. 2006 à 16:38
3
Merci
Ah, on dirait que l'intéressé est revenu ... oui mais il n'a lu que la première réponse !
Donc, develomagaly, ce que je disais est juste (que les temps d'acces à une table d'une BDD sont faibles) mais la réponse de Delphiprog mérite qu'on en tire des leçons. Je ne sais pas trop ce que tu essayes de faire (je ne suis pas le seul d'ailleurs) alors je ne saurais me résoudre autrement qu'a te conseiller d'essayer ce que te dis Delpphiprog et à tester par toi même.

Delphiprog : il y à un moment que je fais la différence entre "classe" et "instance de classe". Mais tout le monde ne la fait pas. Et justement, dans la question de develomagaly, je me suis dit que c'étais son cas. J'ai donc interprété "Collection de classe" comme "Collection d'objets" mais apparament, ce n'étais pas encore ça.

"une classe, une responsabilité" : je suis entierement d'accord, et, meme si je fais l'effort d'y penser, il y a des fois où ça dérape et où je mets plusieurs resposabitités à une classe. Après, il faut reprendre le code et là, c'est galère.
C'est pas spécialement évident de trouver les responsabilités que l'on veut assigner à une classe.

++

Si tu ne te plantes pas ......
tu ne pousseras jamais

Merci florenth 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 80 internautes ce mois-ci

Commenter la réponse de florenth
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 20 janv. 2006 à 11:20
0
Merci
Je pense que si tu utilise une BDD, il n'est pas utile d'essayer de stocker ce qu'elle contient pour après t'en servir.
Les méthodes des BDD sont en effet, très efficaces, et de plus, tu consomeras moins de mémoire que si tu t'amuse à stoker tout cela dans un TCollection ou autres.

Par contre, je ne vois pas de quoi tu parles quand tu dfis "Collection de classe". Enfin, si, je vois quelque chose mais qui n'a rien a voir avec ce que tu essaye de faire.

Si, par contre, tu as un problème avec les requettes SQL (c'est peut être pour cela que tu voudrais y stocker toi meme dans une collection), tu peux aller voir ici: http://sgbd.developpez.com/cours/

++

Si tu ne te plantes pas ......
tu ne pousseras jamais
Commenter la réponse de florenth
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 21 janv. 2006 à 11:30
0
Merci
Le terme n'est peut-être pas bien choisi. Je pense que tu veux parler de hiérarchie de classes et non pas de collection de classes. Mais la difficulté n'est pas là.
Que tu conserves les données des emprunts dans une base de données est tout à fait concevable. C'est un choix qui n'est pas discutable.
Si j'ai bien compris ton intention, et dis moi si je me trompe, tu souhaiterais réaliser des simulations d'emprunts simplement en faisant varier quelques paramètres comme le type d'amortissement ou d'autres non cités dans ton exposé du problème.

Je te propose la démarche suivante : pour chaque type d'emprunt, recense les caractéristiques qu'il doit posséder et les actions qu'on est censés faire dessus.
Pour ne pas perdre de temps, décrit chaque caractéristique pour indiquer ce que tu veux y trouver comme contenu avec, éventuellement, les limites de valeurs.
Exemple de caractéristique :
durée : exprimée en mois, peut varier de 1 à 120. Obligatoire.
Si tu as déjà constitué ta base de données, ce travail doit déjà, plus ou moins, avoir été fait

De même pour les actions, décrit ce qu'elles sont censées faire.
Exemple :
Calculer échéance N : calcule le montant de la nième échéance (capital + amortissement)

Toi tu sais ce que tu veux, pas nous !
N'essaie surtout pas de raisonner en termes d'objets, de classes ou quoi que ce soit qui ne pourrait que bloquer ton esprit. Nous verrons cela plus tard.
Une fois ces listes établies, dépose nous le fruit de ton travail. Je continuerai à t'aider.
A bientôt.

<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
florenth 1105 Messages postés dimanche 1 août 2004Date d'inscription 17 août 2008 Dernière intervention - 21 janv. 2006 à 20:50
0
Merci
Ah d'accord, j'avais percuté autrement. Pour moi, dans ce contexte, "collection de classe" correspondait plutôt à "TCollection".
Ma réponse est donc du HS pur.

Delphiprog > On voit tout de suite où est ton domaine, je veux dire le genre d'aaplications que tu concois. Ou alors je suis encore HS

Sinon, tout ce que tu dis, c'est la BDD qui doit faire ces calculs ou Delphi ? Je veux dire, une requette SQL ou du code dans Delphi ?

Si tu ne te plantes pas ......
tu ne pousseras jamais
Commenter la réponse de florenth
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 22 janv. 2006 à 10:08
0
Merci
Une collection ne peut contenit que des objets concrets. Or une classe, par définition, est un concept abstrait (c'est presque un pléonasme que de dire cela ). Ce sont les instances de classes qui sont des objets. Bien que, par simplification du langage, on emploie parfois l'un pour l'autre. Tout est question de contexte.
Attention de ne pas faire l'amalgame avec un composant comme TClassList qui permet de maintenir une liste de références de classes.

>>florenth : pour répondre à ta question : il me semble évident que le rôle premier d'une BDD est de stocker de l'information. Une BDD n'a pas été conçue à d'autres fins même si elle offre quelques possibilités de calcul.
Il existe un principe de base en POO qui dit "une classe, une responsabilité".
Cela s'applique aussi à une BDD. Si on commence à donner plusieurs responsabilités à un objet, on met en péril la réutilisabilité, on complexifie le code et l'on perd en efficacité. Souviens-toi de ce que je t'ai écrit au sujet de ta classe TQuickSort.

Attendons la réponse du principal intéressé...
Develomagaly, la parole est à toi.

<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
develomagaly 46 Messages postés mercredi 5 octobre 2005Date d'inscription 3 mai 2006 Dernière intervention - 23 janv. 2006 à 10:51
0
Merci
Donc en fait si j'ai bien compris il faut mieux que j'aille chercher directement les données dans le BDD et ce serait une perte de temps que de les stocker dans une classe ou autres .

Donc je vais essayer de faire sa alors et je verai bien le temps de réponse et d'affichages des données.

Merci et je vous tiens au courant .
Commenter la réponse de develomagaly

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.