Moi j'avoue ne pas savoir comment me passer de singleton quand par exemple dans une appli j'ai
- un logger
- une liste dabonnement
- une liste de connexion style socket
- une connexion à une Bdd
- une liste d'objet métier (par exemple une liste d'ordre boursier)
Tous ces objets listes sont uniques et doivent a priori être appelable à droite et à gauche dans l'appli: dans la gui dans le core engine etc
Ma solution est d'avoir une classe 'main' singleton qui possède en membre donné tous les objets listes , et qui est déclarée comme étant un singleton... ce qui rend indirectement tous les autres objets listes singleton
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 |  
class Main
{
boost::mutex mutex_;
 
ListeAbonnement listeAbo_;
ListeOrdre listeOrdre_;
ListeConnexion listeCnx_;
 
static Main& pInstance()
{
static Main main;
return main;
}
 
}; | 
 je ne vois pas trop comment je pourrais faire d'autre étant donné, que ces listes doivent être accessible dans les différents thread à savoir
- les thread socket
- le thread de la gui
- le thread de la Bdd
- les thread de calcul