Bonjour,
Quel est la différence entre une classe singleton faite comme ceci : http://tfc.duke.free.fr/coding/singleton.html et une classe avec toute ses fonctions membres et variables misent en static ?
Merci...
Version imprimable
Bonjour,
Quel est la différence entre une classe singleton faite comme ceci : http://tfc.duke.free.fr/coding/singleton.html et une classe avec toute ses fonctions membres et variables misent en static ?
Merci...
Certains considèrent que le singleton est un anti-pattern (càd un exemple à ne pas suivre). Je ne vais pas jusque là, mais c'est un bon candidat au titre de pattern la plus utilisée à mauvais escient.
En C++, on utilise souvent des singletons dans les cas où un singleton n'est pas réellement nécessaire -- une structure de donnée abstraite suffit --, mais pour contourner la difficulté qu'il y a à s'assurer de l'ordre d'initialisation des variables statiques. Dans ces cas-là je considère le singleton comme un détail d'implémentation et il n'apparait pas dans l'interface qui se présente soit comme un namespace, soit comme une classe avec uniquement des membres statiques quand j'ai des raisons de vouloir une interface fermée.