Dom Razvoj Što je singleton? - definicija iz tehopedije

Što je singleton? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači Singleton?

Singleton je klasa koja omogućava stvaranje samo jedne instance sebe i daje pristup toj stvorenoj instanci. Sadrži statičke varijable koje mogu ugostiti jedinstvene i privatne instance sebe. Koristi se u scenarijima kada korisnik želi ograničiti primjerak klase na samo jedan objekt. To je korisno obično kada je za koordiniranje akcija kroz sustav potreban jedan objekt.


Singleton uzorak koristi se u programskim jezicima kao što su Java i .NET za definiranje globalne varijable. Jedan objekt koji se koristi u svim sustavima ostaje stalan i treba ga definirati samo jednom, a ne mnogo puta.

Tehopedija objašnjava Singletona

Singleton je namijenjen pružanju samo jedne instance sebe uz olakšavanje globalne točke pristupa. Implementacija singleton obrasca uključuje stvaranje klase metodom koja stvara novu instancu klase. Da bi se implementirao singleton obrazac, moraju se zadovoljiti načela jedinstvene instance i globalnog pristupa. Singleton klasa je poput globalnog spremišta za instancu samog sebe, što konstruktor čini privatnim. Stoga se instanca izvan klase uopće ne može stvoriti, a singleton može sadržavati samo jednu instancu. Singleton klasa instancira sebe i održava tu instancu u svim sustavima.


Apstraktni tvornički, graditeljski i prototipovi mogu koristiti singletons. Fasadni objekti i statički objekti često su jednotonci. Implementacija Singletona zahtijeva mehanizam kroz koji se može pristupiti članu klase bez potrebe za stvaranjem predmeta klase i zadržavanjem vrijednosti članova klase među objektima klase. Sljedeći su koraci u stvaranju singleton-a:

  1. Konstruktor se pravi privatnim. To omogućava samo razredu pristup singlom.
  2. Primjer:

    klasa testdata

    {

    Privatni testni podaci ()

    {

    //… ne-op za jednokonu

  3. Jedna unutarnja instanca klase stvara se metodom. Metoda se u ovom primjeru naziva instanca. Metoda "instanca" koristi se za inicijalizaciju klase radi pristupa jednoj instanci. Metoda instance označena je kao statična u ovom primjeru kako bi se svim nitima omogućio dosljedan pristup. Izvan stvaranja instancije, izjava "zaključavanje" koristi se za kontrolu višeslojnog pristupa. Ovo zaključava stvaranje instancije u jednoj niti.


    Primjer:


    // Lažno stvaranje jednolične unutarnje instance

    Instanca javnih statičkih ispitnih podataka

    {

    Dobiti

    {

    Zaključavanje (vrsta (testni podaci))

    {

    Ako je (_instanca == null)

    _instanca = testdata ();

    }

    Povratak _tvar;

    }

    }

Što je singleton? - definicija iz tehopedije