Héritage et constantes - Java - Programmation
Marsh Posté le 03-06-2012 à 23:40:07
L'utilisation d'une interface Config est la bonne solution.
Si tu as 10 classes ayant 20 attributs,
toutes implémentant l'interface Config,
je ne les coderai pas en dur,
mais je les créerai sous forme de beans manipulé en Spring IOC.
Donc dans un fichier xml avec un id différent pour chaque bean (1080, 1200 ...)
Le ConfigBuilder allant 'piocher' le bon bean en fonction de l'id.
Marsh Posté le 04-06-2012 à 23:47:27
Reply
Marsh Posté le 03-06-2012 à 19:30:51
Bonjour
Je travaille en ce moment sur un petit projet et j'aurais besoin de votre aide.
J'ai une classe MaClasse qui a pour variables un certain nombre de constantes (environ 20).
Ces constantes sont donc constantes (:p) tout le long du programme, mais il s'avère qu'elles doivent pouvoir être initialisées de manières différentes selon l'environnement d'exécution du programme (selon la résolution de l'écran pour être exact)
Donc ces constantes ont le mot clef "final" et sont, pour le moment, initialisées dans le constructeur.
Ainsi, je dois avoir, pour chaque résolution d'écran que supporte mon programme, avoir une série de déclarations pour chacune de mes constantes.
Si je supporte 10 résolutions, j'ai 10x20 = 200 lignes d'initialisations de constantes au sein même de mon constructeur. (Je trouve ça crado perso)
Aussi j'avais pensé passer par une classe externe : Config, qui serait abstraite et donc chacun des membres serait statique final
J'aurais ensuite eu, pour chaque résolution d'écran une classe Config_<resolutiondecran> qui hérite de Config et qui met les variables à la bonne valeur (et comme ça j'ai un fichier par résolution, ce qui me semble plus clean), mais cela ne marche pas.
Pourriez vous m'aiguiller sur la manière la plus propre de faire ?
Un petit code pour l'exemple :
Actuellement
Ce que j'aimerais faire : (ConfigBuilder est une classe qui va me rendre le bon type de configuration)
J'ai bien pensé faire ça dans config que des getters abstraits qui seraient implémentés dans chacune des classes filles, mais je trouve que ca alourdit le reste de mon code où je fais appelle à ces variables (la fonction foo dans l'exemple ci-dessus)
Pourriez vous donc m'aider ??
Merci d'avance !
Message édité par nisalon_caje le 03-06-2012 à 19:35:03