[GO] Singleton-Muster in Java

Einführung

Einführung in die Entwurfsmuster von [GoF](https://ja.wikipedia.org/wiki/Gang of for _ (Information Engineering)) ["Einführung in Entwurfsmuster, die in der erweiterten und überarbeiteten Java-Sprache gelernt wurden"]( https://www.amazon.co.jp/ Ergänzende überarbeitete Ausgabe Einführung in in Java gelernte Entwurfsmuster-Yuki-Hiroshi / dp / 4797327030 / ref = pd_lpo_sbs_14_t_0? _ Encoding = UTF8 & psc = 1 & refRID = 2ZE4GPYNN55JGR Ich werde über zusammenfassen.

Singleton-Muster

Was ist Singleton?

Übersetzt ins Japanische ist es eine einzelne Karte von Trump, was bedeutet, dass es nur eine im gesamten Satz gibt. Aus diesem Grund wird das ** Muster, das garantiert, dass es nur eine Instanz im gesamten System ** gibt, als ** Singleton-Muster ** bezeichnet.

Charakter

Die im folgenden Klassendiagramm angezeigten Klassen werden im Singleton-Muster verwendet. Es gibt jedoch nur eine der Singleton-Klassen. image.png

Konkretes Beispiel

Als konkretes Beispiel basiert die Erklärung auf der Singleton-Klasse und der Ausführungsklasse.

Implementierungsklasse

Singleton.java


package singleton;

public class Singleton {
	// 1.statisches Feld(Klassenvariable)Definieren Sie Singleton als
	private static Singleton singleton = new Singleton();

	// 2.privater Konstrukteur
	private Singleton() {
		System.out.println("Erfolgreiche Instanzerstellung");
	}

	// 3.Singleton-Instanz zurückgeben
	public static Singleton getInstance() {
		return singleton;
	}
}

Die Punkte sind die folgenden drei Punkte. ** 1. ** Singleton ist als private Klassenvariable definiert. ** 2. ** Der Konstruktor ist privat und kann nicht von anderen Klassen aufgerufen werden. (kann nicht neu sein) ** 3. ** Definiert eine getInstance () -Methode, die eine Singleton-Instanz zurückgibt.

Ich werde eine ergänzende Erklärung geben. Zunächst ruft die externe Klasse die öffentliche Methode getInstance () auf. Wenn es zu diesem Zeitpunkt zum ersten Mal aufgerufen wird, wird die Singleton-Klasse initialisiert und eine Instanz der Singleton-Klasse wird zu diesem Zeitpunkt nur einmal erstellt. Wenn danach die Methode getInstance () aufgerufen wird, wird die bereits erstellte Instanz der Singleton-Klasse zurückgegeben. Die Ausgabe erfolgt im Konstruktor, sodass Sie sehen können, dass die Instanz erfolgreich erstellt wurde, dies ist jedoch normalerweise nicht erforderlich.

Ausführungsklasse

-** Hauptklasse ** Rufen Sie die Methode getInstance () zweimal auf, um sicherzustellen, dass Sie dieselbe Instanz erhalten.

Main.java


package singleton;

public class Main {
    public static void main(String[] args) {
        System.out.println("***Starten Sie die Ausführungsklasse***");
        Singleton obj1 = Singleton.getInstance();
        Singleton obj2 = Singleton.getInstance();
        if (obj1 == obj2) {
            System.out.println("obj1 is obj2");
        } else {
            System.out.println("obj1 is not obj2");
        }
        System.out.println("***Ende der Ausführungsklasse***");
    }
}

Ausführungsergebnis

Das Ergebnis der Ausführung von "Main.java" ist wie folgt. obj1 is obj2 wird ausgegeben, und Sie können bestätigen, dass Sie dieselbe Instanz erhalten können.

Ausführungsergebnis


***Starten Sie die Ausführungsklasse***
Erfolgreiche Instanzerstellung
obj1 is obj2
***Ende der Ausführungsklasse***

verdienen

Durch die Verwendung des Singleton-Musters können Sie sicher sein, dass es in Ihrem gesamten System nur eine Instanz gibt. Auf diese Weise können Sie verhindern, dass sich mehrere Instanzen verwickeln und unerwartete Fehler verursachen.

Sie haben das Singleton-Muster kennengelernt, das garantiert, dass es nur eine Instanz gibt. Der Beispielcode wird unten hochgeladen. Wenn Sie möchten, lesen Sie ihn bitte. - Singleton-Beispielcode Auch andere Entwurfsmuster sind unten zusammengefasst. Bitte beachten Sie dies auch. - [Von Zeit zu Zeit aktualisiert] Zusammenfassung der Entwurfsmuster in Java Referenzen

Recommended Posts

Singleton-Muster in Java
Fassadenmuster in Java
Fliegengewichtsmuster in Java
Singleton-Muster in Python
Beobachtermuster in Java
Iteratormuster in Java
Dekorationsmuster in Java
Prototypmuster in Java
Proxy-Muster in Java
Muster der Vorlagenmethode in Java
Implementieren Sie das Singleton-Muster in Python
Muster der Verantwortungskette in Java
Entwurfsmuster #Singleton
Linux-Berechtigungen für Java
Verwenden Sie DataFrame in Java
Besuchermuster in Python
Ich habe ein Designmuster in der Kotlin Singleton Edition geschrieben
Singleton-Musterzusammenfassung der Einführung in Entwurfsmuster, die in Java gelernt wurden
Implementieren Sie einen tabellengesteuerten Test in Java
Signale in Java erkennen und verarbeiten.
Implementierte Blasensortierung in Java (BubbleSort)
Grobe Zusammenfassung des GoF-Java-Entwurfsmusters
Überlappende reguläre Ausdrücke in Python und Java
Lernen Sie das Entwurfsmuster "Prototype" mit Python
Lernen Sie das Entwurfsmuster "Builder" mit Python
[Viererbande] Design Pattern Learning - Singleton
Lernen Sie das Designmuster "Flyweight" in Python
Lernen Sie das Entwurfsmuster "Observer" in Python
Lernen Sie das Entwurfsmuster "Memento" mit Python
Lernen Sie das Entwurfsmuster "Proxy" in Python
Express Python-Ertrag in JavaScript oder Java
Wenden Sie den Google Java Style-Formatierer mit IntelliJ an
Lernen Sie das Entwurfsmuster "Befehl" in Python
Unterschiede zwischen Python- und Java-Syntax
Erhalten Sie E-Mails mithilfe der Google Mail-API in Java
Lernen Sie das Entwurfsmuster "Besucher" mit Python
Lernen Sie das Entwurfsmuster "Bridge" mit Python
Lernen Sie das Entwurfsmuster "Mediator" mit Python
Lernen Sie das Designmuster "Decorator" mit Python
Lernen Sie das Entwurfsmuster "Iterator" mit Python
Lernen Sie das Entwurfsmuster "Strategie" mit Python
Lernen Sie das Entwurfsmuster "Composite" mit Python
Lernen Sie das Entwurfsmuster "Singleton" mit Python
Lernen Sie das Entwurfsmuster "State" in Python
Lassen Sie uns das Bash-Skript in Java ausführen
Lernen Sie das Entwurfsmuster "Adapter" mit Python