[Débutant] pattern singleton
Voila j'ai recherché a droite et a gauche sur ce sujets , et je susi tombé que sur des truc en anglais.
Problèmes je parle pas anglais , donc j'aurai besoin qu'on m'explique comment cela fonctionne , une espece de tutorial en francais trés detaillé.
Je doit coder un class Directeur , qui ne doit crée , que un seul Directeur , et si il en existe deja un , envoyé un message juste.
J'avais pensé avant d'entendre le mot singleton , de faire une variable static , que si egal a 1 le Directeur n'etait pas crée , mais j'ai pas trouvé , comment faire pour que l'isntancation ne ce fasse pas.
Re: [Débutant] pattern singleton
Citation:
Envoyé par SirDarken
Voila j'ai recherché a droite et a gauche sur ce sujets , et je susi tombé que sur des truc en anglais.
Problèmes je parle pas anglais , donc j'aurai besoin qu'on m'explique comment cela fonctionne , une espece de tutorial en francais trés detaillé.
Je doit coder un class Directeur , qui ne doit crée , que un seul Directeur , et si il en existe deja un , envoyé un message juste.
J'avais pensé avant d'entendre le mot singleton , de faire une variable static , que si egal a 1 le Directeur n'etait pas crée , mais j'ai pas trouvé , comment faire pour que l'isntancation ne ce fasse pas.
Le plus simple, en reprenant le principe du singleton:
- créer un constructeur privé
- implémenter une methode factory static
ex:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class Directeur {
private static Directeur dInstance = null;
private Directeur() {
}
public static Directeur createInstance() throws CreateException {
if (dInstance != null) {
throw new CreateException("directeur déjà créé");
}
dInstance = new Directeur();
return dInstance;
}
} |
Evidement, dans le cas du singleton classique, on ne lance pas une exception mais on retourne dInstance:
Code:
1 2 3 4 5 6 7 8
|
public static Directeur createInstance() {
if (dInstance == null) {
dInstance = new Directeur();
}
return dInstance;
} |