Singleton

Autor: Monica Porter
Erstelldatum: 15 Marsch 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
SINGLETON - ROGBODO ( Clip officiel 2021 )
Video: SINGLETON - ROGBODO ( Clip officiel 2021 )

Inhalt

Definition - Was bedeutet Singleton?

Ein Singleton ist eine Klasse, mit der nur eine Instanz von sich selbst erstellt werden kann und die Zugriff auf diese erstellte Instanz gewährt. Es enthält statische Variablen, die eindeutige und private Instanzen von sich selbst aufnehmen können. Es wird in Szenarien verwendet, in denen ein Benutzer die Instanziierung einer Klasse auf nur ein Objekt beschränken möchte. Dies ist in der Regel hilfreich, wenn ein einzelnes Objekt zum Koordinieren von Aktionen in einem System erforderlich ist.

Das Singleton-Muster wird in Programmiersprachen wie Java und .NET verwendet, um eine globale Variable zu definieren. Ein einzelnes Objekt, das systemübergreifend verwendet wird, bleibt konstant und muss nur einmal und nicht mehrmals definiert werden.


Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt Singleton

Ein Singleton soll nur eine Instanz von sich selbst bereitstellen und gleichzeitig einen globalen Zugriffspunkt ermöglichen. Das Implementieren eines Singleton-Musters umfasst das Erstellen einer Klasse mit einer Methode, die eine neue Instanz der Klasse erstellt. Um ein Singleton-Muster zu implementieren, müssen die Prinzipien der Einzelinstanz und des globalen Zugriffs erfüllt sein. Die Singleton-Klasse ist wie ein globales Repository für eine Instanz von sich selbst und macht den Konstruktor privat. Daher kann eine Instanz außerhalb der Klasse überhaupt nicht erstellt werden, und ein Singleton kann nur eine Instanz enthalten. Eine Singleton-Klasse instanziiert sich selbst und verwaltet diese Instanz systemübergreifend.

Abstrakte Factory-, Builder- und Prototyp-Muster können Singletons verwenden. Fassadenobjekte und statische Objekte sind oft Singletons. Die Singleton-Implementierung erfordert einen Mechanismus, mit dem auf ein Klassenmitglied zugegriffen werden kann, ohne ein Klassenobjekt erstellen und den Wert von Klassenmitgliedern unter Klassenobjekten beibehalten zu müssen. Die Schritte zum Erstellen eines Singletons lauten wie folgt:


  1. Der Konstruktor wird privat gemacht. Dadurch kann nur die Klasse auf den Singleton zugreifen.

  2. Beispiel:
    Klasse Testdaten
    {
    Private Testdaten ()
    {
    //… für einen Singleton kein Op

  3. Eine einzelne interne Instanz der Klasse wird mithilfe einer Methode erstellt. Die Methode wird in diesem Beispiel als Instanz bezeichnet. Die Methode "instance" wird verwendet, um die Klasse für den Zugriff auf eine einzelne Instanz zu initialisieren. Die Instanzmethode ist in diesem Beispiel als statisch markiert, um allen Threads konsistenten Zugriff zu gewähren. Außerhalb der Instanzerstellung wird die Anweisung "lock" verwendet, um den Multithread-Zugriff zu steuern. Dies sperrt die Instanzerstellung auf einen einzelnen Thread.

    Beispiel:

    // Langsame Erstellung einer internen Singleton-Instanz
    Öffentliche statische Testdateninstanz
    {
    Bekommen
    {
    Sperre (Typ von (Testdaten))
    {
    If (_instance == null)
    _instance = testdata ();
    }
    Return _instance;
    }
    }