Domov Rozvoj Co je singleton? - definice z techopedie

Co je singleton? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená Singleton?

Singleton je třída, která umožňuje vytvoření pouze jedné instance samotné a umožňuje přístup k této vytvořené instanci. Obsahuje statické proměnné, které mohou pojmout jedinečné a soukromé instance samy o sobě. Používá se ve scénářích, když uživatel chce omezit instanci třídy pouze na jeden objekt. To je užitečné obvykle, když je pro koordinaci akcí v systému vyžadován jeden objekt.


Vzor singletonu se používá v programovacích jazycích, jako je Java a .NET, pro definování globální proměnné. Jeden objekt používaný napříč systémy zůstává konstantní a musí být definován pouze jednou, nikoli mnohokrát.

Techopedia vysvětluje Singleton

Účelem singletonu je poskytnout pouze jednu vlastní instanci a zároveň usnadnit globální přístupový bod. Implementace vzoru singleton zahrnuje vytvoření třídy pomocí metody, která vytvoří novou instanci třídy. Aby bylo možné implementovat singletonový vzor, ​​musí být splněny zásady jediné instance a globálního přístupu. Třída singleton je jako globální repozitář pro svou vlastní instanci, čímž se konstruktor stává soukromým. Proto instanci mimo třídu nelze vytvořit vůbec a singleton může obsahovat pouze jednu instanci. Třída singleton se sama o sobě instancuje a udržuje tuto instanci napříč systémy.


Abstraktní vzory továrny, stavitel a prototyp mohou používat singletons. Fasádní objekty a statické objekty jsou často singletony. Implementace Singleton vyžaduje mechanismus, prostřednictvím kterého lze přistupovat ke členům třídy, aniž byste museli vytvářet objekt třídy a držet se hodnoty členů třídy mezi objekty třídy. Postup při vytváření singletonu je následující:

  1. Konstruktor je soukromý. To umožňuje pouze třídě mít přístup k singleton.
  2. Příklad:

    třída testdata

    {

    Soukromá testdata ()

    {

    //… no-op pro singleton

  3. Pomocí jedné metody se vytvoří jedna interní instance třídy. Metoda se v tomto příkladu nazývá instance. Metoda „instance“ se používá k inicializaci třídy pro přístup k jedné instanci. Metoda instance je v tomto příkladu označena jako statická, aby všem vláknům byl zajištěn konzistentní přístup. Mimo vytváření instance se příkaz „lock“ používá k řízení přístupu s více vlákny. Toto uzamkne vytvoření instance do jednoho vlákna.


    Příklad:


    // Líné vytvoření vnitřní instance singletonu

    Veřejná instance statických testdat

    {

    Dostat

    {

    Zámek (typ (testdata))

    {

    Pokud (_instance == null)

    _instance = testdata ();

    }

    Návrat _instance;

    }

    }

Co je singleton? - definice z techopedie