[JAVA] Entwurfsmuster ~ Singleton ~

1. Zuallererst

Hier ist eine Zusammenfassung des ** Singleton-Musters ** im GoF-Entwurfsmuster.

2. Was ist das Singleton-Muster?

3. Beispielklassendiagramm

Singleton.PNG

4. Beispielprogramm

Ein Programm, das eine Singleton-Instanz erstellt.

4-1. Singleton-Klasse

Eine Klasse, die nur eine Instanz zurückgibt. Der Konstruktor für die Singleton-Klasse ist privat. Dies soll verhindern, dass der Konstruktor von außerhalb der Singleton-Klasse aufgerufen wird.

Singleton.cs


public class Singleton {

	private static Singleton singleton = new Singleton();

	private Singleton() {
		System.out.println("Instanz erstellt.");
	}

	public static Singleton getInstance() {
		return singleton;
	}
}

4-2. Hauptklasse

Diese Klasse führt die Hauptverarbeitung durch.

Main.cs


public class Main {
	public static void main(String[] args) {
		Singleton obj1 = Singleton.getInstance();
		Singleton obj2 = Singleton.getInstance();
		if (obj1 == obj2) {
			System.out.println("obj1 und obj2 sind dieselbe Instanz.");
		} else {
			System.out.println("obj1 und obj2 sind nicht dieselbe Instanz.");
		}
	}
}

4-3. Ausführungsergebnis

Instanz erstellt.
obj1 und obj2 sind dieselbe Instanz.

5. Vorteile

Das Singleton-Muster begrenzt die Anzahl der Instanzen. Wenn mehrere Instanzen vorhanden sind, können die Instanzen miteinander interagieren und unerwartete Fehler verursachen. Wenn Sie jedoch garantieren, dass Sie nur eine Instanz haben, können Sie mit dieser Voraussetzung programmieren.

  1. GitHub

7. Liste der Entwurfsmuster

8. Referenz

Dieser Artikel und das Beispielprogramm wurden basierend auf den folgenden Büchern erstellt.

Es war sehr leicht zu verstehen und ich habe viel gelernt. Vielen Dank. Die detaillierten Erklärungen zu den Entwurfsmustern und Beispielprogrammen sind geschrieben. Schauen Sie sich also auch die Bücher an.

Recommended Posts

Entwurfsmuster ~ Singleton ~
Singleton-Muster
Singleton-Muster
Entwurfsmuster ~ Builder ~
Entwurfsmuster ~ Besucher ~
Java-Entwurfsmuster
Entwurfsmuster ~ Proxy ~
Entwurfsmuster ~ Zustand ~
Entwurfsmuster ~ Strategie ~
Entwurfsmuster ~ Composite ~
Entwurfsmuster (2): Builder
Entwurfsmuster (1): AbstractFactory
[Java] Singleton-Muster
Entwurfsmuster ~ Befehl ~
Entwurfsmuster ~ Iterator ~
Entwurfsmuster ~ Fassade ~
Entwurfsmuster ~ Brücke ~
Entwurfsmuster ~ Mediator ~
Entwurfsmuster ~ Dekorateur ~
Entwurfsmuster ~ Interpreter ~
Entwurfsmuster ~ Beobachter ~
Entwurfsmuster ~ Prototyp ~
Entwurfsmuster ~ Memento ~
Entwurfsmuster ~ Adapter ~
Entwurfsmuster ~ Fliegengewicht ~
C ++ - Entwurfsmuster (TemplateMethod-Muster)
Entwurfsmuster ~ Fabrikmethode ~
Entwurfsmuster ~ Abstrakte Fabrik ~
Zusammenfassung des GoF-Entwurfsmusters
Entwurfsmuster ~ Vorlagenmethode ~
Zusammenfassung des Java-Entwurfsmusters
Entwurfsmuster ~ Verantwortungskette ~
[Entwurfsmuster] Java-Kernbibliothek
Entwurfsmuster nach Ruby Template-Methode Musternotiz
C # gekautes Designmuster: TemplateMethod
Anwendungsbeispiel für Entwurfsmuster (Nr. 1)
Java-Anfänger-Entwurfsmuster (Factory-Methodenmuster)
Prototypmuster
Erinnerungsmuster
Vermittlermuster
Iteratormuster
Zusammengesetztes Muster
Beobachtermuster
Builder-Muster
Brückenmuster
Befehlsmuster
Builder-Muster
Strategiemuster
Iteratormuster
Besuchermuster
Adaptermuster
Proxy-Muster
Strategiemuster
Zusammengesetztes Muster
Prototypmuster
[Entwurfsmuster] Allgemeine Logik mit der Vorlagenmethode
Fassadenmuster
Dekorationsmuster
Fliegengewichtsmuster
Dekorateur Muster
Vermittlermuster