Singleton

Autor: Monica Porter
Dátum Stvorenia: 15 Pochod 2021
Dátum Aktualizácie: 1 V Júli 2024
Anonim
SINGLETON - ROGBODO ( Clip officiel 2021 )
Video: SINGLETON - ROGBODO ( Clip officiel 2021 )

Obsah

Definícia - Čo znamená Singleton?

Singleton je trieda, ktorá umožňuje vytvorenie iba jednej inštancie a umožňuje prístup k tejto vytvorenej inštancii. Obsahuje statické premenné, ktoré môžu obslúžiť jedinečné a súkromné ​​prípady samy o sebe. Používa sa v scenároch, keď chce užívateľ obmedziť instanciu triedy iba na jeden objekt. Toto je užitočné, keď je potrebný jeden objekt na koordináciu akcií v systéme.

Vzor singletónu sa používa v programovacích jazykoch ako Java a .NET na definovanie globálnej premennej. Jeden objekt používaný v systémoch zostáva konštantný a musí byť definovaný iba raz, nie viackrát.


Úvod do programu Microsoft Azure a Microsoft Cloud V tejto príručke sa dozviete, o čom všetko je cloud computing a ako vám môže Microsoft Azure pomôcť migrovať a podnikať z cloudu.

Techopedia vysvetľuje Singleton

Účelom singletónu je poskytnúť iba jeden príklad sám o sebe a zároveň uľahčiť globálny prístupový bod. Implementácia vzoru singleton zahŕňa vytvorenie triedy pomocou metódy, ktorá vytvorí novú inštanciu triedy. Aby bolo možné implementovať model singleton, musia byť splnené zásady jediného stupňa a globálneho prístupu. Singleton trieda je ako globálne úložisko pre svoju vlastnú inštanciu, vďaka čomu je konštruktor súkromný. Preto inštanciu mimo triedy nie je možné vytvoriť vôbec a singleton môže obsahovať iba jednu inštanciu. Singletonová trieda sa inicializuje a udržuje túto inštanciu naprieč systémami.

Abstraktné vzory tovární, staviteľov a prototypov môžu používať singletóny. Fasádne objekty a statické objekty sú často singletóny. Implementácia Singleton vyžaduje mechanizmus, prostredníctvom ktorého je možné pristupovať k členom triedy bez toho, aby ste museli vytvárať objekt triedy a držať sa hodnoty členov triedy medzi objektmi triedy. Kroky, ktoré sa týkajú vytvorenia singletonu, sú tieto:


  1. Konštruktor je súkromný. Toto umožňuje iba triede mať prístup k singleton.

  2. Príklad:
    trieda testdata
    {
    Súkromné ​​testdata ()
    {
    // ... no-op pre singleton

  3. Jedna vnútorná inštancia triedy sa vytvorí pomocou metódy. Metóda sa v tomto príklade nazýva inštancia. Metóda „inštancia“ sa používa na inicializáciu triedy na prístup k jednej inštancii. Metóda inštancie je v tomto príklade označená ako statická, aby sa všetkým vláknom poskytol konzistentný prístup. Okrem vytvorenia inštancie sa príkaz „lock“ používa na riadenie viacvláknového prístupu. Toto uzamkne vytvorenie inštancie do jedného vlákna.

    Príklad:

    // Lenivé vytvorenie vnútornej inštancie singleton
    Verejná inštancia statických testovacích údajov
    {
    dostať
    {
    Lock (typ (testdata))
    {
    Ak (_instance == null)
    _instance = testdata ();
    }
    Návrat _instance;
    }
    }