Bonjour,
Je cherche à proposer différentes options pour l’exécution d’un programme. Pour simplifier mettons qu’il s’agit de 3 manières (manière 1, manière 2, manière 3) de faire un calcul.
Pour le moment je fonctionne comme cela :
J’ai une énumération qui défini les manières disponibles :Et dans ma classe principale j’ai une fonction calcule() qui attend la manière comme paramètre. Dans cette méthode, à l’aide d’un switch, j’utilise la méthode qui me convient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public enum ManieresDeCalcul {MANIERE_1, MANIERE_2, MANIERE_3}
Première question : s’agit t’il d’une bonne méthode pour résoudre ce type de problème ou y a t’il d’autre moyen plus élégant ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public int calcule(ManieresDeCalcul maniere) { int resultat; resultat = 0; switch(maniere) { case MANIERE_1 : //code pour la maniere de calcul 1 => resultat break; case MANIERE_2 : //code pour la maniere de calcul 2 break; case MANIERE_3 : //code pour la maniere de calcul 3 break; } return resultat; }
* * *
Ensuite, j’aimerais avoir la possibilité d’avoir un comportement par défaut. Il me semble que cela ne pose pas de problème, je n’ai qu’à avoir la même méthode sans paramètres :
(en considérant que la MANIERE_1 est celle par défaut)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public int calcule() { return calcule(ManieresDeCalcul.MANIERE_1); }
* * *
Maintenant je souhaiterais pouvoir définir quelle va être la méthode par défaut à utiliser (un fichier texte me semble assez approprié).
Il me semble que Java propose un mécanisme de fichier Properties pour répondre à ce type de problème.
S'agit il d'une bonne idée (sinon comment faire autrement) ?
Où puis je trouver un exemple, ou de la doc pour en savoir plus ?
Est-ce que dans le fichier properties je peux forcer le fait de devoir avoir une valeur contenue dans une énumération (ou faut-il que je refasse un mapping de type String -> Valeur de l’Enum)
Je voudrais utiliser une méthode standard et utilisée par tous, histoire d'éviter de réinventer une roue qui doit déjà exister en standard...
Merci
Partager