conception objet, ça vous choque ça !? - Java - Programmation
Marsh Posté le 05-07-2002 à 15:52:39
bof ...
c'est pas top mais bon ...
fait gaffe de bien ne montrer que les interface read-only
Marsh Posté le 05-07-2002 à 16:02:08
Ce serait peut-être mieux de donner ces 3 classes en tant que paramètre dans les constructeurs de classes qui les utilisent (à moins que tu le fasses déjà d'une manière semblable). Par après si tu veux utiliser une classe spécialisée d'une de ces 3 classes, t'es pas obligé de changer le code client.
Marsh Posté le 05-07-2002 à 16:18:54
benou a écrit a écrit : bof ... c'est pas top mais bon ... fait gaffe de bien ne montrer que les interface read-only |
Comment ça !? comment je peux faire ? j'ai besoin d'avoir des méthodes public qui sont pas read-only !
Comment faire pour les cacher dans certains cas !?
Marsh Posté le 05-07-2002 à 17:07:21
benou a écrit a écrit : bof ... c'est pas top mais bon ... fait gaffe de bien ne montrer que les interface read-only |
dis benou, c quoi que tu trouves pas top? le fait d'avoir les 3 singletons ?
pq?
Marsh Posté le 05-07-2002 à 17:08:41
--greg-- a écrit a écrit : dis benou, c quoi que tu trouves pas top? le fait d'avoir les 3 singletons ? pq? |
moi ce que je trouve pas top c'est d'avoir des variables globales, mais bon, je suis une peu extremiste...
Renaud
Marsh Posté le 05-07-2002 à 18:14:32
--greg-- a écrit a écrit : dis benou, c quoi que tu trouves pas top? le fait d'avoir les 3 singletons ? pq? |
ben c'est pas les singletons qui me poses problème, mais d'après ce que j'imagine, il doit y accéder en fesant par exemple : PropertieFile.singleton.getPath() et ca c'est pas top niveau évolutivité : si demain tu veux étendre la classe PropertieFile, ca va être difficile parce que les références à la classe sont faite en dur : pour accéder à une variable static, il faut préfixer par le nom de la classe => c'est pas top.
Marsh Posté le 05-07-2002 à 18:35:51
benou a écrit a écrit : ben c'est pas les singletons qui me poses problème, mais d'après ce que j'imagine, il doit y accéder en fesant par exemple : PropertieFile.singleton.getPath() et ca c'est pas top niveau évolutivité : si demain tu veux étendre la classe PropertieFile, ca va être difficile parce que les références à la classe sont faite en dur : pour accéder à une variable static, il faut préfixer par le nom de la classe => c'est pas top. |
euh j'ai pas tout compris à ce que tu crois qu'il fait mais bon, spa grave, chuis pressé.
donc si c'est des VRAIS singletons bien propres ça te pose pb quoi?
Marsh Posté le 08-07-2002 à 08:38:45
benou a écrit a écrit : ben c'est pas les singletons qui me poses problème, mais d'après ce que j'imagine, il doit y accéder en fesant par exemple : PropertieFile.singleton.getPath() et ca c'est pas top niveau évolutivité : si demain tu veux étendre la classe PropertieFile, ca va être difficile parce que les références à la classe sont faite en dur : pour accéder à une variable static, il faut préfixer par le nom de la classe => c'est pas top. |
Ouais, c bel et bien comme ça que je fais. c vachement plus pratique que passer en paramètre à chaque fois que g besoin d'une proptiétés par exemple. Et puis le nom de ma classe, je compte bien ne jammais le changer !
Marsh Posté le 08-07-2002 à 11:16:50
benou a écrit a écrit : ben c'est pas les singletons qui me poses problème, mais d'après ce que j'imagine, il doit y accéder en fesant par exemple : PropertieFile.singleton.getPath() et ca c'est pas top niveau évolutivité : si demain tu veux étendre la classe PropertieFile, ca va être difficile parce que les références à la classe sont faite en dur : pour accéder à une variable static, il faut préfixer par le nom de la classe => c'est pas top. |
Pourtant, j'crois bien que c toi qui avait posté sur HFR, ta méthode replace, qui s'utilise comme ça : StringUtils.replace...
Marsh Posté le 08-07-2002 à 11:21:54
el_gringo a écrit a écrit : Pourtant, j'crois bien que c toi qui avait posté sur HFR, ta méthode replace, qui s'utilise comme ça : StringUtils.replace... |
faut apprendre à faire la difference entre une methode publique statique et un membre public mon beau
Marsh Posté le 08-07-2002 à 11:25:04
et chtoc
(eh je rigole hein)
Marsh Posté le 08-07-2002 à 11:27:55
DarkLord a écrit a écrit : et chtoc (eh je rigole hein) |
oui moi aussi ... il est pas beau !
Marsh Posté le 08-07-2002 à 11:55:06
--greg-- a écrit a écrit : faut apprendre à faire la difference entre une methode publique statique et un membre public mon beau |
Bah oui, je sais. Ms son truc, ça pose exactement le même problème que celui dont il me parle: 'faut préfixer par le nom de la classe. Donc le nom de la classe est en dur !
D'ou le même pb que ce qu'il m'a dit pour mon cas !
(et je suis pas ton beau à toi, égoïste va ! je suis beau, un point c tout !)
Marsh Posté le 08-07-2002 à 12:00:43
une classe d'utilitaire sur les String peut s'appeller difficilement autrement que StringUtils ... enfin moi je dit ca je dis rien hein
Ceci dit ca ne pose pas le meme probleme du tout !! Tu donne un accès direct à ton singleton. C'est pas comme ca que ca fonctionne. Tu ne cache rien là. En fait ta classe avec un membre statique te sert juste de container, de poubelles quoi.
Ca n'a rien à voir avec l'OO. La méthode statique de Benou est 100% correcte car tu ne dois pas avoir une instance d'un objet particulier pour pouvoir l'utiliser.
Donc tu as tout faux. Exposer ton singleton comme ca directement c'est pourris. Tu verras jamais personne faire ca ... Au contraire tu utilise une méthode getMachin qui te renvoie le membre privé. Ensuit tu peux appliquer des méthodes sur machin.
Marsh Posté le 08-07-2002 à 12:07:19
tain et il ose encore me dire que mes posts son incompréhensibles
Marsh Posté le 08-07-2002 à 12:07:22
DarkLord a écrit a écrit : Au contraire tu utilise une méthode getMachin qui te renvoie le membre privé. Ensuit tu peux appliquer des méthodes sur machin. |
...toujours aussi délicat toi !
j'comprend pas trop. la citation de toi, là, juste au dessus, c ce qu'y faut faire ou ce qu'y faut pas faire !?
Marsh Posté le 08-07-2002 à 12:07:56
--greg-- a écrit a écrit : tain et il ose encore me dire que mes posts son incompréhensibles |
...qui ça !? moi ?
Marsh Posté le 08-07-2002 à 12:09:29
el_gringo a écrit a écrit : ...qui ça !? moi ? |
meuh, non, je parlais de mon darkounet chéri bien sur
Marsh Posté le 08-07-2002 à 12:10:22
--greg-- a écrit a écrit : meuh, non, je parlais de mon darkounet chéri bien sur |
...fayo !
Marsh Posté le 08-07-2002 à 12:11:53
Ce que je dis est très simple.
Donner accès comme ca à un membre statique de manière publique ca ne signifie qu'une chose, que la classe qui la contient est une classe poubelle (dans la plupart des cas).
Tu peux très bien faire des trucs élégants avec des membres "statiques" qui en font n'en sont pas. Example
Code :
|
Ca change quoi? Ca change que tu peux faire tout ce que tu veux dans ta classe PropertiesFile sur p sans avoir de compte à rendre aux classes qui y accèdent. Tu peux changer son nom, tu peux meme changer sa classe si ca te chnate (par une sous classe bien sur sinon y aura un type mismatch).
Ca change aussi que tu voudrais que tes clients puissent accéder à ce membre (p) uniquement quand tu l'as décidé. Avec ta méthode tu peux faire PropertiesFile.p n'importe quand (alors que il n'a pas encore été initialisé par exemple)
et ca ca pue ...
est ce plus clair ?
Marsh Posté le 08-07-2002 à 12:12:12
--greg-- a écrit a écrit : tain et il ose encore me dire que mes posts son incompréhensibles |
mais enfin keski est pas clair ?
Marsh Posté le 08-07-2002 à 12:12:50
el_gringo a écrit a écrit : ...toujours aussi délicat toi ! |
tu préfère que je te dise que t'es un Dieu en java. Surtout ne change rien à ton code machin ... Bin désolé si tu veux ce genre de réponse c'est pas demain la veille
Edit : je veux pas dire que t'es nul hein ! Je pense juset que ce que tu veux faire là cpasbien Donc je te le dit
Marsh Posté le 08-07-2002 à 12:18:05
DarkLord a écrit a écrit : Ce que je dis est très simple. Donner accès comme ca à un membre statique de manière publique ca ne signifie qu'une chose, que la classe qui la contient est une classe poubelle (dans la plupart des cas). Tu peux très bien faire des trucs élégants avec des membres "statiques" qui en font n'en sont pas. Example
|
Bah oui, mais, qui t'as dit que ds ma méthode p est public !? il est privé ! je peux pas faire PropertieFile.p !!
Marsh Posté le 08-07-2002 à 12:19:47
DarkLord a écrit a écrit : tu préfère que je te dise que t'es un Dieu en java. Surtout ne change rien à ton code machin ... Bin désolé si tu veux ce genre de réponse c'est pas demain la veille Edit : je veux pas dire que t'es nul hein ! Je pense juset que ce que tu veux faire là cpasbien Donc je te le dit |
Ouais, heureusement, j'voudrais pas que tu m'fasses croire que je suis une brute (de toute façon j'y croirais pas !).
Mais, disons que, quand tu fais un reproche, tu le fais de façon... hum, disons brutale !
Je suis sur que je suis pas le seul à penser ça !
Marsh Posté le 08-07-2002 à 12:32:46
el_gringo a écrit a écrit : Ouais, heureusement, j'voudrais pas que tu m'fasses croire que je suis une brute (de toute façon j'y croirais pas !). Mais, disons que, quand tu fais un reproche, tu le fais de façon... hum, disons brutale ! Je suis sur que je suis pas le seul à penser ça ! |
bin ouais c comme ca, que veux tu que je te dise moi ...
Marsh Posté le 08-07-2002 à 12:32:55
el_gringo a écrit a écrit : Ouais, heureusement, j'voudrais pas que tu m'fasses croire que je suis une brute (de toute façon j'y croirais pas !). Mais, disons que, quand tu fais un reproche, tu le fais de façon... hum, disons brutale ! Je suis sur que je suis pas le seul à penser ça ! |
+1
Marsh Posté le 08-07-2002 à 12:33:21
el_gringo a écrit a écrit : Bah oui, mais, qui t'as dit que ds ma méthode p est public !? il est privé ! je peux pas faire PropertieFile.p !! |
bin alors on parle de la meme chose sans le savoir. Bon je laisse tomber parce que ca part dans tout les sens la
Marsh Posté le 08-07-2002 à 12:33:49
el_gringo a écrit a écrit : Ouais, heureusement, j'voudrais pas que tu m'fasses croire que je suis une brute (de toute façon j'y croirais pas !). Mais, disons que, quand tu fais un reproche, tu le fais de façon... hum, disons brutale ! Je suis sur que je suis pas le seul à penser ça ! |
te plains pas, il t'as pas encore tappai
Marsh Posté le 08-07-2002 à 12:37:49
--greg-- a écrit a écrit : +1 |
bon d'accord ...
Marsh Posté le 08-07-2002 à 14:33:23
Bon, bah merci à ceux qui m'ont aidé. (oui, toi aussi Dark, même surtout toi ! )
Marsh Posté le 08-07-2002 à 14:45:46
DarkLord a écrit a écrit : bon d'accord ... |
bien mangé au fait?
Marsh Posté le 08-07-2002 à 14:54:40
fantastique ... A moitié couché sur ma console tellement que j'en avais marre de voir ces logs ... MAis bon ca fonctionne avec un test réel ce qui n'est déjà pas rien
Je suis assez content. Mais bon on va voir le soir qd il aura 5000 appels à faire
Marsh Posté le 05-07-2002 à 15:45:36
Dans mon prog Java, j'ai 3 singletons static qui j'utilise comme des variables globales. 1 pour mon fichier properties, 1 pour mes Ressources, et un pour mon pool de connections.
ça vous choque ?