OVH Cloud OVH Cloud

Implémentation

2 réponses
Avatar
Bernard Koninckx
Bonjour à tous,

Je voudrais créer une application de gestion de bibliothèque et souhaite
savoir quelle est la meilleur manière d'implémenter la classe livre. Je
souhaite en effet afficher ses données dans une JTable. Est-il mieux de ne
pas créer du tout de classe livre ou en créer une avec des méthodes
accesseur. Je souhaite également avoir une table qui pourrait également être
réutilisée pour d'autres choses.

Merci à tous

Bernard Koninckx

2 réponses

Avatar
vclassine
"Bernard Koninckx" wrote in message news:<4013ab39$0$320$...
Bonjour à tous,
Salut,


Je voudrais créer une application de gestion de bibliothèque et souhaite
savoir quelle est la meilleur manière d'implémenter la classe livre.
Cette question aurait plus sa place sur fr.comp.objet, et en plus le

forum objet est moins animé et ta question sera donc plus visible...

Je
souhaite en effet afficher ses données dans une JTable.
La JTable ne va pas afficher un livre mais plus probablement une liste

de livre. Par conséquent chaque livre ne sera qu'un enregistrement
(une ligne) dans la table. Autrement dit le fait que tu souhaites
utiliser une JTable ne peut entrer en ligne de compte qu'au niveau
d'une éventuelle classe "liste de livre". De plus je ne sais pas si
poser comme contrainte de son analyse le composant qu'on souhaite
utiliser est une bonne idée... A mon avis tu devrais penser la
conception de tes classes comme si tu allais les utiliser dans une
console en mode texte. Ensuite tu pourras eventuellement rajouter des
accesseurs facilitant la "conversion" de tes données en un
JTableModel, et encore il vaudrait peut-être mieux crée une version
"custom" de JtableModel qui se construise à l'aide d'une liste de
livre. Tu peux aussi faire le choix de laisser ta fenêtre principale
faire "tampon" entre les données de ton système de gestion et leur
représentation dans l'ihm (interfaçe graphique)...

Tout ça est un peu compliqué à expliquer mais tu peux retenir qu'il ne
faut pas que ton code de gestion de des données et traitements soit
pollués par des fonctionnalité dediés à la gestion de l'ihm. Par
exemple une méthode "JTableModel getAsTableModel()" dans ta classe
"ListeLivre" serait une erreur (selon moi). Personnelement je
préconiserais de créer une version dérivée (héritée) de JTableModel
qui permettrait de construire une instance de JTableModel à partir
d'une instance de "ListeLivre", ou a la rigueur d'avoir dans ta
fenêtre contenant la table une méthode "setListeLivre(ListeLivre lv)"
qui se chargerait de créer une instance de JtableModel avec les
données de ListeLivre. Cette dernière proposition n'est ps très
propre, mais ça peut-être une bonne alternative à al création de
composant spécifique qui peut-être problèmatique lorsque l'on utilise
un générateur d'ihm...



Est-il mieux de ne
pas créer du tout de classe livre ou en créer une avec des méthodes
accesseur.


A mon avis il est indispensable de créer une classe livre... Si tu
essayes de t'en passer tu vas faire du copier coller a tort et a
travers en gérant des livre sans vraiment les nommer... Juste un
indice en passant, ta classe livre devrait peut-être hérité d'une
classe Média qui contiendrait toutes les caractéristique communes
entre un livre, un dvd, un cd (titres, année de publication...) et,
partout où c'est possible, gérer les livres comme des Médias... Ainsi
tu pourras faire évoluer la bibliothèque en médiathèque...

Je souhaite également avoir une table qui pourrait également être
réutilisée pour d'autres choses.
???


Merci à tous
Bon courage. Un conseil, lit de bons livres de COO/POO et soit

toujours à l'affût d'amélioration dans ta conception: c'est en
forgeant qu'on devient forgeron...

Avatar
Bernard Koninckx
Merci pour la réponse.
Aurais-tu de bonne références d'ouvrages traitant des sujets dont tu me
parles (COO et POO) ?

Merci

Bernard


"Vincent" a écrit dans le message de news:

"Bernard Koninckx" wrote in message
news:<4013ab39$0$320$...

Bonjour à tous,
Salut,


Je voudrais créer une application de gestion de bibliothèque et souhaite
savoir quelle est la meilleur manière d'implémenter la classe livre.
Cette question aurait plus sa place sur fr.comp.objet, et en plus le

forum objet est moins animé et ta question sera donc plus visible...

Je
souhaite en effet afficher ses données dans une JTable.
La JTable ne va pas afficher un livre mais plus probablement une liste

de livre. Par conséquent chaque livre ne sera qu'un enregistrement
(une ligne) dans la table. Autrement dit le fait que tu souhaites
utiliser une JTable ne peut entrer en ligne de compte qu'au niveau
d'une éventuelle classe "liste de livre". De plus je ne sais pas si
poser comme contrainte de son analyse le composant qu'on souhaite
utiliser est une bonne idée... A mon avis tu devrais penser la
conception de tes classes comme si tu allais les utiliser dans une
console en mode texte. Ensuite tu pourras eventuellement rajouter des
accesseurs facilitant la "conversion" de tes données en un
JTableModel, et encore il vaudrait peut-être mieux crée une version
"custom" de JtableModel qui se construise à l'aide d'une liste de
livre. Tu peux aussi faire le choix de laisser ta fenêtre principale
faire "tampon" entre les données de ton système de gestion et leur
représentation dans l'ihm (interfaçe graphique)...

Tout ça est un peu compliqué à expliquer mais tu peux retenir qu'il ne
faut pas que ton code de gestion de des données et traitements soit
pollués par des fonctionnalité dediés à la gestion de l'ihm. Par
exemple une méthode "JTableModel getAsTableModel()" dans ta classe
"ListeLivre" serait une erreur (selon moi). Personnelement je
préconiserais de créer une version dérivée (héritée) de JTableModel
qui permettrait de construire une instance de JTableModel à partir
d'une instance de "ListeLivre", ou a la rigueur d'avoir dans ta
fenêtre contenant la table une méthode "setListeLivre(ListeLivre lv)"
qui se chargerait de créer une instance de JtableModel avec les
données de ListeLivre. Cette dernière proposition n'est ps très
propre, mais ça peut-être une bonne alternative à al création de
composant spécifique qui peut-être problèmatique lorsque l'on utilise
un générateur d'ihm...



Est-il mieux de ne
pas créer du tout de classe livre ou en créer une avec des méthodes
accesseur.


A mon avis il est indispensable de créer une classe livre... Si tu
essayes de t'en passer tu vas faire du copier coller a tort et a
travers en gérant des livre sans vraiment les nommer... Juste un
indice en passant, ta classe livre devrait peut-être hérité d'une
classe Média qui contiendrait toutes les caractéristique communes
entre un livre, un dvd, un cd (titres, année de publication...) et,
partout où c'est possible, gérer les livres comme des Médias... Ainsi
tu pourras faire évoluer la bibliothèque en médiathèque...

Je souhaite également avoir une table qui pourrait également être
réutilisée pour d'autres choses.
???


Merci à tous
Bon courage. Un conseil, lit de bons livres de COO/POO et soit

toujours à l'affût d'amélioration dans ta conception: c'est en
forgeant qu'on devient forgeron...