Was ist das Singleton-Muster?
Das mathematische Konzept eines Singleton ist eine Zahlenmenge, die nur eine einzige Zahl enthält. Softwareentwickler und Programmierer haben dieses Konzept in ein sogenanntes Singleton-Muster übersetzt, bei dem verschiedene Programme nur einmal auf einen bestimmten Satz von Informationen zugreifen und immer denselben Satz von Anweisungen oder Informationen enthalten. Das Singleton-Muster wird in Programmiersprachen wie Java verwendet, um eine globale Variable zu definieren. Diese Information wird systemweit verwendet und muss nur einmal und nicht mehrmals definiert werden.
Bevor ein Programm ausgeführt werden kann, sind in den meisten Programmiersprachen zusätzliche Informationen zu seiner Umgebung erforderlich. Die meisten programmspezifischen Informationen sind in einem eigenen Programmcode enthalten. Ein Programm benötigt jedoch häufig auch variable Informationen über Dinge wie die Version des Betriebssystems, auf dem es ausgeführt wird, die Hardware, auf der es ausgeführt wird, und andere spezifische Informationen, die nicht für das Programm selbst spezifisch sind. Normalerweise sind diese Informationen in einer Klasse oder einem Objekt enthalten, die bzw. das ein unabhängiger Programmcode ist, der häufig in einer vom Programm getrennten Datei enthalten ist, sodass er vielen verschiedenen Programmen gleichzeitig zur Verfügung stehen kann.
Wenn eine Programmiersprache das Singleton-Muster nicht verwendet, greift jedes Programm, das Informationen in einem Objekt benötigt, darauf zu, indem es das Objekt mit einer Reihe von Parametern öffnet, die angeben, welche Informationen in dem Objekt das Programm benötigt. Daher wird jedes Mal, wenn ein anderes Programm das Objekt öffnet, eine andere Instanz des Objekts im Arbeitsspeicher des Computers erstellt. Jede Instanz des Objekts kann unterschiedliche Informationen enthalten, abhängig von den spezifischen Anforderungen jedes Programms, mit dem es geöffnet wird.
Wenn eine Programmiersprache, die das Singleton-Muster verwendet, wie z. B. Java, ein Programm ausführt, sucht das Programm zuerst nach den Objekten, von denen es Informationen benötigt. Wenn ein Objekt noch nicht geöffnet ist, wird es ohne bestimmte Parameter geöffnet, sodass alle im Objekt enthaltenen Informationen allen Programmen zur Verfügung stehen. Wenn das Objekt bereits geöffnet ist, liest es einfach die Informationen im Objekt und fährt fort. Auf diese Weise sind die Informationen in einem Objekt, das ein Singleton-Muster verwendet, immer gleich, sodass nicht viele verschiedene Versionen des Objekts gleichzeitig geöffnet werden müssen. Dies spart Platz im Arbeitsspeicher des Computers und kann auch die Geschwindigkeit erhöhen, da andere Programme auf die Informationen zugreifen können, ohne eine neue Version des Objekts erstellen zu müssen.