Singleton

Författare: Monica Porter
Skapelsedatum: 15 Mars 2021
Uppdatera Datum: 1 Juli 2024
Anonim
SINGLETON - ROGBODO ( Clip officiel 2021 )
Video: SINGLETON - ROGBODO ( Clip officiel 2021 )

Innehåll

Definition - Vad betyder Singleton?

En singleton är en klass som tillåter att endast en enda instans skapas och ger åtkomst till den skapade instansen. Den innehåller statiska variabler som kan rymma unika och privata instanser av sig själv. Det används i scenarier när en användare vill begränsa inställning av en klass till endast ett objekt. Detta är vanligtvis användbart när ett enda objekt krävs för att samordna åtgärder över ett system.

Singletonmönstret används i programmeringsspråk som Java och .NET för att definiera en global variabel. Ett enda objekt som används över system förblir konstant och måste definieras endast en gång snarare än många gånger.


En introduktion till Microsoft Azure och Microsoft Cloud | I hela denna guide kommer du att lära dig vad cloud computing handlar om och hur Microsoft Azure kan hjälpa dig att migrera och driva ditt företag från molnet.

Techopedia förklarar Singleton

En singleton är avsedd att tillhandahålla endast en instans av sig själv samtidigt som den underlättar en global tillgångspunkt. Att implementera ett singletonmönster innebär att skapa en klass med en metod som skapar en ny instans av klassen. För att kunna implementera ett singletonmönster måste principerna om enkel instans och global tillgång vara uppfyllda. Singleton-klassen är som ett globalt arkiv för en instans för sig själv, vilket gör konstruktören privat. Därför kan en instans utanför klassen inte skapas alls, och en singleton kan bara innehålla en instans. En singleton-klass instanserar sig själv och upprätthåller den instansen över system.

Abstrakta fabriks-, byggare- och prototypmönster kan använda singletons. Fasadföremål och statiska föremål är ofta singletoner. Singleton-implementering kräver en mekanism genom vilken en klassmedlem kan nås utan att behöva skapa ett klassobjekt och hålla fast vid värdet av klassmedlemmar bland klassobjekt. Stegen för att skapa en singleton är följande:


  1. Konstruktören görs privat. Detta gör att endast klassen har tillgång till singleton.

  2. Exempel:
    klass testdata
    {
    Privata testdata ()
    {
    // ... no-op för en singleton

  3. En enda intern instans av klassen skapas med en metod. Metoden kallas en förekomst i detta exempel. Metoden “instans” används för att initialisera klassen för att få åtkomst till en enda instans. Instansmetoden markeras som statisk i detta exempel för att ge alla trådar konsekvent åtkomst. Utanför skapandet av instanser används ”lock” -satsen för att kontrollera multitrådad åtkomst. Detta låser instansen för att skapa en enda tråd.

    Exempel:

    // Lat skapande av singleton intern instans
    Offentliga statiska testdata Instans
    {
    Skaffa sig
    {
    Lås (typ av (testdata))
    {
    If (_instance == null)
    _instance = testdata ();
    }
    Återvänd _ instans;
    }
    }