Singleton

Autor: Monica Porter
Data Creației: 15 Martie 2021
Data Actualizării: 1 Iulie 2024
Anonim
SINGLETON - ROGBODO ( Clip officiel 2021 )
Video: SINGLETON - ROGBODO ( Clip officiel 2021 )

Conţinut

Definiție - Ce înseamnă Singleton?

Un singleton este o clasă care permite crearea unei singure instanțe de la sine și dă acces la acea instanță creată. Conține variabile statice care pot găzdui instanțe unice și private ale sale. Este utilizat în scenarii atunci când un utilizator dorește să restricționeze instantania unei clase la un singur obiect. Acest lucru este util, de obicei, atunci când un singur obiect este necesar pentru a coordona acțiunile într-un sistem.

Modelul singleton este utilizat în limbaje de programare precum Java și .NET pentru a defini o variabilă globală. Un singur obiect utilizat pe sisteme rămâne constant și trebuie definit doar o dată și nu de mai multe ori.


O introducere în Microsoft Azure și Microsoft Cloud | În acest ghid, veți afla despre ce este vorba despre cloud computing și despre cum Microsoft Azure vă poate ajuta să migrați și să conduceți afacerea din cloud.

Techopedia explică Singleton

Un singleton este destinat să ofere o singură instanță de sine, în timp ce facilitează un punct de acces global. Implementarea unui model de singleton presupune crearea unei clase cu o metodă care creează o nouă instanță a clasei. Pentru a implementa un model de singleton, trebuie respectate principiile unei singure instanțe și accesul global. Clasa singleton este ca un depozit global pentru o instanță de sine, ceea ce face ca constructorul să fie privat. Prin urmare, o instanță în afara clasei nu poate fi creată deloc, iar un singleton poate conține o singură instanță. O clasă singleton se instantanează și menține această instanță în sisteme.

Modelele abstracte din fabrică, constructor și prototip pot utiliza singletone. Obiectele de fațadă și obiectele statice sunt adesea singleton. Implementarea Singleton necesită un mecanism prin care un membru al clasei poate fi accesat fără a fi necesar să creeze un obiect de clasă și să țină cont de valoarea membrilor clasei dintre obiectele clasei. Pașii implicați în crearea unui singleton sunt următorii:


  1. Constructorul este făcut privat. Aceasta permite doar clasei să aibă acces la singleton.

  2. Exemplu:
    testdata clasei
    {
    Date de testare private ()
    {
    // ... fără opoziție pentru un singleton

  3. O singură instanță internă a clasei este creată folosind o metodă. Metoda se numește instanță în acest exemplu. Metoda „instanță” este utilizată pentru inițializarea clasei pentru a accesa o singură instanță. Metoda de instanță este marcată ca statică în acest exemplu pentru a oferi accesul constant la toate firele. În afara creării instanței, instrucțiunea „blocare” este utilizată pentru a controla accesul cu mai multe filete. Aceasta blochează crearea instanței într-un singur thread.

    Exemplu:

    // Crearea leneșă a instanței interne singleton
    Instanță publică de testare statică
    {
    obține
    {
    Blocare (tip de (testdata))
    {
    Dacă (_instance == null)
    _instance = testdata ();
    }
    Return _instance;
    }
    }