|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() consultant/formateur Java SE Inscription : juillet 2006 Messages : 772 ![]() |
Bonjour,
Je vous propose un nouvel élément à utiliser : singleton avec délégation le code "client" d'un singleton ne devrait pas savoir qu'il a affaire à un singleton. de plus ce code peut évoluer et le singleton disparaitre .... Qu'en pensez-vous ?
__________________
J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes! |
|
|
00
|
|
|
#2 |
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 695 ![]() |
Est-ce que tu pourrais donner un peu plus d'explication pourquoi utiliser un singleton derrière ?
Autrement, je suis pas trop d'accord sur le fait "de ne pas se soucier". S'il y a des ressources partagées autant le savoir et utiliser 'l'instance correctement.
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() ![]() consultant/formateur Java SE Inscription : juillet 2006 Messages : 772 ![]() |
Citation:
On aura alors un peu l'équivalent d'une Fabrique: en fonction de circonstances qui échappent au code client on aura un code différent qui rend le service.
__________________
J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes! |
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 695 ![]() |
Dans cas j'aurai plutôt vu un truc du genre (inspiré par les patterns Service de Java) :
Code :
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
||
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() ![]() consultant/formateur Java SE Inscription : juillet 2006 Messages : 772 ![]() |
non ... encore une fois le newinstance implique que le code client sache qu'on aie un singleton ... ce que l'on cache.
le code client demande un service et il le fait comme d'habitude: crée un objet et on lui rend des services .... derrière il n'y a qu'un seul objet actif mais il n'est pas censé le savoir. C'est vrai que le plus souvent cette forme du pattern est hybride: on crée un constructeur avec paramètres qui constituent des variables d'instance. le singleton derrière exécute une méthode avec des paramètres. genre: Code :
__________________
J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes! |
||
|
|
00
|
|
|
#6 | ||
![]() ![]() Logan Développeur Java Inscription : août 2005 Messages : 1 695 ![]() |
Je comprends mieux dans ce cas
Ex : Un bus de communication (commun à plusieurs clients) mais chaque client envoie son propre id (initialisé au début) et le message (spécifique à chaque envoie). Code :
__________________
Java : Forum - FAQ - Java SE 7 API - Java EE 6 API ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !) Une solution vous convient ? N'oubliez pas le tag ![]() Signature par pitipoisson |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com