Huis Ontwikkeling Wat is singleton? - definitie van techopedia

Wat is singleton? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Singleton?

Een singleton is een klasse waarmee slechts één instantie van zichzelf kan worden gemaakt en die toegang geeft tot die gemaakte instantie. Het bevat statische variabelen die geschikt zijn voor unieke en privé-exemplaren van zichzelf. Het wordt gebruikt in scenario's waarin een gebruiker instantiëring van een klasse tot slechts één object wil beperken. Dit is meestal handig wanneer een enkel object nodig is om acties in een systeem te coördineren.


Het singleton-patroon wordt gebruikt in programmeertalen zoals Java en .NET om een ​​globale variabele te definiëren. Een enkel object dat op verschillende systemen wordt gebruikt, blijft constant en hoeft slechts eenmaal te worden gedefinieerd in plaats van vele keren.

Techopedia legt Singleton uit

Een singleton is bedoeld om slechts één exemplaar van zichzelf te bieden en tegelijkertijd een wereldwijd toegangspunt te faciliteren. Het implementeren van een singleton-patroon omvat het maken van een klasse met een methode die een nieuwe instantie van de klasse maakt. Om een ​​singleton-patroon te implementeren, moet worden voldaan aan de principes van één exemplaar en globale toegang. De singleton-klasse is als een globale opslagplaats voor een instantie van zichzelf, waardoor de constructor privé is. Daarom kan een instantie buiten de klasse helemaal niet worden gemaakt en kan een singleton slechts één instantie bevatten. Een singleton-klasse instantieert zichzelf en onderhoudt die instantie op verschillende systemen.


Abstracte fabrieks-, bouwer- en prototypepatronen kunnen singletons gebruiken. Gevelobjecten en statische objecten zijn vaak singletons. Voor de implementatie van Singleton is een mechanisme vereist waarmee toegang tot een lid van de klas kan worden verkregen zonder een klasseobject te hoeven maken en de waarde van klassenleden onder klasseobjecten te behouden. De stappen voor het maken van een singleton zijn als volgt:

  1. De aannemer wordt privé gemaakt. Hierdoor heeft alleen de klas toegang tot de singleton.
  2. Voorbeeld:

    klasse testgegevens

    {

    Privétestgegevens ()

    {

    // … no-op voor een singleton

  3. Een enkele interne instantie van de klasse wordt gemaakt met behulp van een methode. De methode wordt in dit voorbeeld een instantie genoemd. De methode "exemplaar" wordt gebruikt om de klasse te initialiseren voor toegang tot een enkel exemplaar. De instantiemethode is in dit voorbeeld als statisch gemarkeerd om alle threads consistente toegang te geven. Buiten het maken van de instantie, wordt de instructie 'lock' gebruikt om multithreaded toegang te beheren. Hierdoor wordt het maken van een instantie vergrendeld in één thread.


    Voorbeeld:


    // Luie creatie van singleton interne instantie

    Openbare statische testgegevens Instance

    {

    Krijgen

    {

    Vergrendelen (type van (testgegevens))

    {

    If (_instance == null)

    _instance = testdata ();

    }

    Return _instance;

    }

    }

Wat is singleton? - definitie van techopedia