Conseils de design, notification de changements - Java - Programmation
Marsh Posté le 19-08-2002 à 13:17:04
la méthode babar, bof
le listener je sais pas, mais j'aurais fait comme ca :
|
pas tapai si ca plait pas a tout le monde
Marsh Posté le 19-08-2002 à 13:38:15
via des interfaces en tout cas
Marsh Posté le 19-08-2002 à 15:15:23
DarkLord a écrit a écrit : via des interfaces en tout cas |
Que veux-tu dire par là ?
Marsh Posté le 19-08-2002 à 15:16:36
Cherrytree a écrit a écrit : Que veux-tu dire par là ? |
busy je t'envoie un mp ce soir si tu sais patienter jusque là
Marsh Posté le 19-08-2002 à 15:16:37
HappyHarry a écrit a écrit : la méthode babar, bof le listener je sais pas, mais j'aurais fait comme ca :
|
A priori c'est la solution la plus simple. Celle que je compte implémenter si je n'ai pas de flash. La curiosité et l'intuition me disent qu'on peut faire mieux.
Marsh Posté le 19-08-2002 à 15:16:57
DarkLord a écrit a écrit : busy je t'envoie un mp ce soir si tu sais patienter jusque là |
No problem.
Marsh Posté le 19-08-2002 à 21:20:12
Citation : |
passe une interface à la méthode qui ajoute. Cette interface définit la méthode en question ...
Citation : |
Sans hésiation, listener. Si tu veux de l'aide, demande avec le genre de d'évenements que tu veux gérer et on en discute.
Marsh Posté le 19-08-2002 à 22:12:04
Je sens que c'est ce que je veux faire. Cela étant, je reste dans le flou intégral. Y a une URL ou une page de Thinking in Java à laquelle je peux me rapporter ?
Marsh Posté le 20-08-2002 à 04:02:49
Cherrytree a écrit a écrit : Je sens que c'est ce que je veux faire. Cela étant, je reste dans le flou intégral. Y a une URL ou une page de Thinking in Java à laquelle je peux me rapporter ? |
Probablement
pour l'interface c'est assez simple. Lorsque tu ajoutes un job tu voudrais appeller une méthode donnée sans te préoccuper de ce qui a derrière. Definis une interface qui a cette méthode, passe l'interface à ta méthode d'ajout (au niveau signature) et passe au runtime l'objet qui l'implémente.
Pour le listener y a eu une discussion sur ce sujet avec exemples.
http://forum.hardware.fr/forum2.php3?post=24323&cat=10
Si c'est pas clair, ask
Marsh Posté le 20-08-2002 à 08:17:00
Je viens de lire et c'est intéressant et bien expliqué.
Il ne me reste plus qu'à me documenter un peu sur le passage d'interfaces en paramètre.
Marsh Posté le 20-08-2002 à 08:22:50
exemple
Code :
|
Ca c'est ton interface que l'objet qui est passé quel qu'il soit se doit de respecter.
Là tu es dans ton recorder qui a une méthode addObject
Code :
|
Ensuite l'objet que tu veux ajouter (Job) n'a qu'a implémenter Worker et le tour est joué. Ton recorder appellera la méthode doThis que tu as du forcément implémenté (puisque Job implémente worker) sans savoir quel objet se cache derrière.
Je pense que Job devrait etre une interface en fait. Et que ton job réel devrait implémenter cette interface Job.
Marsh Posté le 20-08-2002 à 08:27:42
Je pense que tu as raison. Après le petit déj, je me remets au code. Merci encore.
Marsh Posté le 24-08-2002 à 15:02:52
Cherrytree a écrit a écrit : D'autres suggestions ? Des conseils précieux pour un design de qualité ? |
Les design patterns permettent de faire enormement et de facon propre. Dans ton cas : utilise l'Observer Pattern.
Un exemple ici :
http://www.patterndepot.com/put/8/observer.pdf
Je te conseille vivement de chercher du cote des design patterns. Voici un site avec enormement de bons liens :
http://www.cetus-links.org/oo_patterns.html
Sinon un excellent bouquin, "Java Design" de Kirk Knoernschild (chez Addison Wesley), met en rapport Java, le design d'applications, UML et les Design Patterns. Un must.
Bye.
Marsh Posté le 25-08-2002 à 19:18:01
En fait, j'attendais fébrilement, qu'on me sorte le nom d'un pattern à utiliser, merci !
Marsh Posté le 25-08-2002 à 19:20:24
Java Design est en effet très bien, reprenant le bouquin de base sur les DP, mais en Java, comme de bon aloi.
Marsh Posté le 25-08-2002 à 22:09:01
Cherrytree a écrit a écrit : En fait, j'attendais fébrilement, qu'on me sorte le nom d'un pattern à utiliser, merci ! |
You're welcome
Marsh Posté le 19-08-2002 à 12:08:09
J'ajoute des objets de type Job (fait maison) à une ArrayList. Lors de l'ajout j'aimerais qu'un objet de la classe Recorder (maison aussi) appelle une méthode (connue) de l'objet ajouté. De même lors de changements d'état de mon objet, j'aimerai que mon Recorder soit notifié et qu'il appelle une méthode de l'objet qui a changé.
Il y a pleins de manières de faire ça, notamment à la babar, en indiquant explicitement à tous les points d'ajouts et de changements de mon programme ce que doit faire le recorder. Il doit aussi y avoir la possibilité de mettre un Listener.
D'autres suggestions ? Des conseils précieux pour un design de qualité ?
---------------
Le site de ma maman