Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3831 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

quel est votre style pour gérer les gui, évènement

n°528002
benou
Posté le 01-10-2003 à 17:40:18  profilanswer
 

Reprise du message précédent :
(en réponse à cherry)
 
mais nan !!!!!
 
comme je te le disais c'est purement thérorique à la con ! Quand tu penses à l'Objet Vue d'une application, ce n'est pas "logique" de le concevoir en le faisant hériter de JPanel, c'est tout.
 
Maintenant si pour des raisons de réutilisabilité, d'implémentation, de cohérence avec le reste de l'appli, tu trouves qu'il faut le faire hériter de JPanel, et ben juste fais le. C'était une remarque conceptuelle.
 
Enfin ca, c'est juste mon avis en arrivant très tard dans le post. C'est peut être pas ce que voulais dire Dark ...
 
Je ne me permetrais jamais de mettre en doute tes connaissances sur Swing alors que c'est un domaine que je connais vraiment très mal ...


Message édité par benou le 01-10-2003 à 17:40:38

---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 01-10-2003 à 17:40:18  profilanswer
 

n°528004
darklord
You're welcome
Posté le 01-10-2003 à 17:42:25  profilanswer
 

benou a écrit :

comme je te le disais c'est purement thérorique à la con ! Quand tu penses à l'Objet Vue d'une application, ce n'est pas "logique" de le concevoir en le faisant hériter de JPanel, c'est tout.
 
Maintenant si pour des raisons de réutilisabilité, d'implémentation, de cohérence avec le reste de l'appli, tu trouves qu'il faut le faire hériter de JPanel, et ben juste fais le. C'était une remarque conceptuelle.
 
Enfin ca, c'est juste mon avis en arrivant très tard dans le post. C'est peut être pas ce que voulais dire Dark ...
 
Je ne me permetrais jamais de mettre en doute tes connaissances sur Swing alors que c'est un domaine que je connais vraiment très mal ...


 
C'est *exactement* ce que je voulais dire. Je n'aurai meme pas tilté sur la solution si il n'y avait pas eu cet avis douteux sur MVC/Swing ;)
 
bref, on se trompe de débat ici visiblement. Je pensais pourtant que c'était clair


---------------
Just because you feel good does not make you right
n°528012
benou
Posté le 01-10-2003 à 17:45:50  profilanswer
 

DarkLord a écrit :


Je n'aurai meme pas tilté sur la solution si il n'y avait pas eu cet avis douteux sur MVC/Swing ;)


je suis pas loin d'être de l'avis de Cherry ...
 
Je connais pas trop donc je ne me permet pas de juger, mais j'ai l'impression qu'en interne, Swing utilise très firtement le modèle MVC, mais qu'en utilisant Swing, c'est très dur de respecter ce modèle...


---------------
ma vie, mon oeuvre - HomePlayer
n°528022
nraynaud
lol
Posté le 01-10-2003 à 18:05:45  profilanswer
 

benou a écrit :


comme je te le disais c'est purement thérorique à la con ! Quand tu penses à l'Objet Vue d'une application, ce n'est pas "logique" de le concevoir en le faisant hériter de JPanel, c'est tout.

Plus que ça, celon le preincipe de substitution de Liskov, si tu hérites de Jpanel, tu _es_ un JPanel, dans le cas où tu fais hériter un composant de JPanel, tu fais quoi des add(), des pack() et de tout le bordel dédiés à gérer le contenu de ton panel ? Tu ne peux pas les réécrire en mettant du code vide dedans à cause (entre autres) de l'invariant qui dit que si un utilisateur fait un add(sonComponent), il est _sûr_ de le retrouver en cherchant dans le contenu du panel.
 
d'autre part, le code et les données héritées d'un JPanel sont becoup trop importants pour faire une simple vue.
 
JPanel, on l'étend si on veut faire un joli panel avec des fleurs sur les côtés, mais avec un joli trou dedans pour afficher ce que l'uitilisateur de la classe veut mettre comme composants dedans. Pas pour faire un truc dont le contenu est fixe et qui n'a pas de  place prévue pour que les utilisateurs mettent leur composants à eux.

n°528055
benou
Posté le 01-10-2003 à 18:31:34  profilanswer
 

nraynaud a écrit :

si tu hérites de Jpanel, tu _es_ un JPanel


bha oui ... c'est ce que je disais dans le post précédent ...
 
En fait, pour pouvoir être affiché, c'est plutot d'un java.awt.Component (y a pas d'équivalent Swing je crois) que ca devrait hériter. (quelle horreur cette classe, soit dit en passant)


---------------
ma vie, mon oeuvre - HomePlayer
n°528093
Cherrytree
cn=?
Posté le 01-10-2003 à 19:34:31  profilanswer
 

nraynaud a écrit :

Plus que ça, celon le preincipe de substitution de Liskov, si tu hérites de Jpanel, tu _es_ un JPanel, dans le cas où tu fais hériter un composant de JPanel, tu fais quoi des add(), des pack() et de tout le bordel dédiés à gérer le contenu de ton panel ? Tu ne peux pas les réécrire en mettant du code vide dedans à cause (entre autres) de l'invariant qui dit que si un utilisateur fait un add(sonComponent), il est _sûr_ de le retrouver en cherchant dans le contenu du panel.
 
d'autre part, le code et les données héritées d'un JPanel sont becoup trop importants pour faire une simple vue.
 
JPanel, on l'étend si on veut faire un joli panel avec des fleurs sur les côtés, mais avec un joli trou dedans pour afficher ce que l'uitilisateur de la classe veut mettre comme composants dedans. Pas pour faire un truc dont le contenu est fixe et qui n'a pas de  place prévue pour que les utilisateurs mettent leur composants à eux.


Benou > là j'ai mieux compris mon erreur :D
 
. En somme en voulant trop faire vue (regardez, regardez, je suis un JPanel - ou JComponent - je suis forcément une vue), j'ai oublié le contrat terrible que je signais.
 
Merci infiniment.
 
nraynaud > tu as décidément un savoir étonnant. Peux-tu me donner encore un ou deux autres conseils sur le sujet ?


---------------
Le site de ma maman
n°528100
Cherrytree
cn=?
Posté le 01-10-2003 à 19:44:53  profilanswer
 

Dark > Swing est un sujet sensible. J'ai consacré énormément de temps. C'est toujours catastrophant de se rendre compte que partant seul, on s'est trompé, au sens propre. C'est moi qui ai trompé le programmeur.
 
C'est aussi un rêve gâché. Je n'ai pas réussi avec Swing à faire ce que je voulais. Je n'ai pas réussi à maîtriser Swing.
 
Je continue à penser que Swing n'est pas conforme MVC. D'ailleurs, dans Swing Connection, les ingénieurs présentent le pattern en introduisant ce qu'ils appellent le "delegate", lequel m'est toujours apparu comme un agrégat de vue et de contrôleur.


Message édité par Cherrytree le 01-10-2003 à 19:46:23

---------------
Le site de ma maman
n°528101
benou
Posté le 01-10-2003 à 19:45:53  profilanswer
 

Cherrytree a écrit :


Benou > là j'ai mieux compris mon erreur :D


:'(
 

benou a écrit :

La vue n'est pas forcément un objet graphique. Elle peut se servir (agrégation/délégation)  d'élément graphiques, mais rien n'oblige à ce qu'elle en soit un (héritage).
 
avoir un objet View sur lequel tu peux appeler les méthodes de JPanel, c'est assez étrange. Ta vue ne devrait être capable de faire (méthodes) que ce que tu as prévu qu'elle puisse faire.


 
je trouvais ca bien moi [:sisicaivrai]


---------------
ma vie, mon oeuvre - HomePlayer
n°528102
Cherrytree
cn=?
Posté le 01-10-2003 à 19:48:33  profilanswer
 

benou a écrit :


:'(
 
 
 
je trouvais ca bien moi [:sisicaivrai]


Pleure pas, faire comprendre ce n'est pas forcément un acte unilatéral. Si je n'ouvre pas mes esgourdes, tu ne peux rien m'apprendre.


---------------
Le site de ma maman
n°528105
benou
Posté le 01-10-2003 à 19:52:08  profilanswer
 

nan mais c'est pas grave hein [:dawa]


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 01-10-2003 à 19:52:08  profilanswer
 

n°528123
nraynaud
lol
Posté le 01-10-2003 à 20:10:09  profilanswer
 

Cherrytree a écrit :

Peux-tu me donner encore un ou deux autres conseils sur le sujet ?

Sur swing, non, je l'utilise très peu (et uniquement sous la contrainte), sur l'objet en général, il faut lire Bertrand Meyer et Robert C. Martin (fait la recherche, j'en ai marre de google, je passe ma vie dessus).

n°528192
Cherrytree
cn=?
Posté le 01-10-2003 à 21:09:26  profilanswer
 

merci.


---------------
Le site de ma maman
n°528551
Krueger
tout salaire demande dutravail
Posté le 01-10-2003 à 22:36:20  profilanswer
 

Comme prévu, quelques extraits :

Citation :

Couplage faible
 
Le Couplage mesure l'interdépendance entre classes. Une classe est fortement couplée si son fonctionnement dépend de plusieurs classes.
Le couplage fort est pénalisant :
- compréhension, maintenance, réutilisation
 
Problème :
Comment conserver un couplage faible ?
Et réaugmenter la réutilisabilité.
 
Solution :
- Il suffit de regarder les diagrammes de classes ou les diagrammes de collaboration et de chercher à limiter le nombre de liens.
 
Cohésion forte
 
Solution :
Répartir les responsabilités pour garder une cohésion forte.
 
Problème :
Comment garder la complexité raisonnable.
 
La cohésion d'une classe nous donne une mesure du fait que la classe se limite à une seule activité, ou bien que les activités de la classe sont bien corrélées. Une classe qui fait trop de travail a une cohésion faible.


 
Ton problème s'apparente ainsi à une faible cohésion, comme nraynaud t'a si bien expliqué.


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
n°528599
Cherrytree
cn=?
Posté le 01-10-2003 à 22:55:23  profilanswer
 

merci.


---------------
Le site de ma maman
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[crossplatform] gerer les fichiers et les repertoiresun evenement en fonction du choix de la JComboBox
[ PHP ] PHP et Feuille de Style CSS[CSS] newbie : Changer de style a un endroit precis [résolu]
evenement onclick[Access][VB] Un evenement "modif quelconque sur form" ?
[Java][Swing] Double événement de sélection de valeurStyle Swticher creer 2 présentation differente CSS sur une page HTML
comment vider le buffer d'évenement ListSelectionEvent[VC++ / BDD] Gérer des accès concurrents à une bdd
Plus de sujets relatifs à : quel est votre style pour gérer les gui, évènement


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)