Der Singleton ist wahrscheinlich eines der am meisten verbreiteten Software-Entwurfsmuster, wenn nicht gar das am meisten verbreitete. Neulich habe ich erfahren, dass es sogar einen Singleton Detector von Google gibt. Dieser entdeckt neben Singletons auch noch “Hingletons” (sic!), “Mingletons” (sic!) und “Fingletons” (sic!) und produziert ein hübsch anzuschauendes Diagramm als Resultat. (Beispiel)
Wie ich soeben zu meiner eigenen freudigen Überraschung feststellte, habe ich mir vor einer Weile ein Eclipse-Template erstellt, das alles notwendige zur richtigen Implementierung eines Singletons in Java vornimmt. Vielleicht finden es andere Menschen auch nützlich! Einfach herunterladen und importieren oder direkt den Code kopieren:
/** Singleton */
private static ${enclosing_type} s_instance = null;
/**
* @return Die Singleton-Instanz des ${enclosing_type}, threadsicher.
*/
public static synchronized ${enclosing_type} getInstance() {
if (s_instance == null) {
s_instance = new ${enclosing_type}();
}
return s_instance;
}
/** Verborgener Konstruktor */
private ${enclosing_type} ()
{
// TODO Automatisch generierter Konstruktor!
} |
Der Code wurde aufgrund des Kommentars vom 18.10.2007 modifiziert.