Heim > Java > javaLernprogramm > Was ist ein Java-Singleton-Muster?

Was ist ein Java-Singleton-Muster?

青灯夜游
Freigeben: 2020-09-17 16:58:50
Original
11073 Leute haben es durchsucht

Das Java-Singleton-Muster ist ein gängiges Entwurfsmuster; es ist eine Methode, um sicherzustellen, dass eine Klasse nur eine Instanz hat und einen globalen Zugriffspunkt für das gesamte System bereitstellt (und diese Instanz dem gesamten System bereitstellt). Es gibt drei Arten von Singleton-Mustern: Singleton im Lazy-Stil, Singleton im Hungrig-Stil und registrierter Singleton.

Was ist ein Java-Singleton-Muster?

Übersicht über das Singleton-Muster

Das Singleton-Muster, auch Monadenmuster genannt, ist ein häufig verwendetes Entwurfsmuster. Bei der Anwendung dieses Musters muss die Klasse eines Singleton-Objekts sicherstellen, dass nur eine Instanz vorhanden ist. Oftmals benötigt das gesamte System nur ein globales Objekt, was uns hilft, das Gesamtverhalten des Systems zu koordinieren. In einem Serverprogramm werden beispielsweise die Konfigurationsinformationen des Servers einheitlich von einem Singleton-Objekt gelesen, und dann erhalten andere Objekte im Dienstprozess die Konfigurationsinformationen über dieses Singleton-Objekt vereinfacht das Konfigurationsmanagement in komplexen Umgebungen.

Insbesondere in Computersystemen werden Thread-Pools, Caches, Protokollobjekte, Dialogfelder, Drucker und Grafikkartentreiberobjekte häufig als Singletons konzipiert. Tatsächlich haben diese Anwendungen alle mehr oder weniger die Funktion von Ressourcenmanagern. Beispielsweise kann jeder Computer mehrere Drucker, aber nur einen Druckerspooler (Singleton) haben, um zu verhindern, dass zwei Druckaufträge gleichzeitig auf dem Drucker ausgegeben werden. In einem anderen Beispiel kann jeder Computer über mehrere Kommunikationsports verfügen, und das System sollte diese Kommunikationsports zentral (in einem einzigen Fall) verwalten, um zu verhindern, dass ein Kommunikationsport gleichzeitig von zwei Anforderungen aufgerufen wird. Kurz gesagt besteht der Zweck der Wahl des Singleton-Modus darin, inkonsistente Zustände und langfristige Richtlinien zu vermeiden.

Zusammenfassend lässt sich sagen, dass das Singleton-Muster eine Möglichkeit ist, sicherzustellen, dass eine Klasse nur eine Instanz hat und einen globalen Zugriffspunkt für das gesamte System bereitstellt.

Der Singleton-Modus hat die folgenden Eigenschaften:

1. Eine Singleton-Klasse kann nur eine Instanz haben.

2. Die Singleton-Klasse muss ihre eigene eindeutige Instanz erstellen.

3. Die Singleton-Klasse muss diese Instanz allen anderen Objekten bereitstellen.

Das Singleton-Muster stellt sicher, dass eine Klasse nur eine Instanz hat, sich selbst instanziiert und diese Instanz dem gesamten System zur Verfügung stellt.

Das Singleton-Muster ist eine der einfachsten Formen von Designmustern. Der Zweck dieses Musters besteht darin, ein Objekt einer Klasse zur einzigen Instanz im System zu machen. Um dies zu erreichen, instanziieren Sie es zunächst auf der Clientseite. Daher ist es notwendig, einen Mechanismus zu verwenden, der nur die Generierung eindeutiger Instanzen der Objektklasse zulässt und jeglichen Zugriff auf das Objekt, das generiert werden soll, „blockiert“. Verwenden Sie Factory-Methoden, um den Instanziierungsprozess einzuschränken. Diese Methode sollte eine statische Methode (Klassenmethode) sein, da es keinen Sinn macht, eine Instanz der Klasse eine weitere eindeutige Instanz generieren zu lassen.

Das obige ist der detaillierte Inhalt vonWas ist ein Java-Singleton-Muster?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage