Java cum să folosiți o clasă singleton

Obiectivul lui Singleton este de a controla crearea unui obiect, limitând numărul de obiecte la unul singur. Deoarece există doar o singură instanță a lui Singleton, orice instanță a câmpului cu un singur punct va apărea numai o dată în clasă, la fel ca și câmpurile statice. Singurii adesea controlează accesul la resurse, cum ar fi conexiunile la baze de date sau cuiburi.







De exemplu, dacă aveți o licență pentru o singură conexiune pentru baza de date sau driverul JDBC are probleme cu multithreading, atunci Singleton se asigură că se face doar o singură conexiune sau că numai un fir poate accesa conexiunea la un moment dat.

Punerea în aplicare a Singletons







Cea mai simplă implementare constă într-un constructor privat și un câmp care să-și păstreze rezultatul și o metodă statică de accesoriu cu un nume, cum ar fi GetInstance ().

Un câmp privat poate fi atribuit în cadrul unui inițializator de blocuri statice sau, mai simplu, utilizând un inițializator. Metoda debugans () (care trebuie să fie publică), apoi returnează pur și simplu această instanță -

Aici este fișierul principal al programului în care vom crea un obiect singleton:

Aceasta va produce următorul rezultat:

Odată implementat, este afișat modelul clasic de design Singleton:

Clasa ClassicSingleton menține o referință statică la o singură instanță unică și returnează o referință din metoda static debugger ().

Aici clasa ClassicSingleton folosește o tehnică cunoscută ca instanțiere leneșă pentru a crea un singleton; Ca rezultat, o instanță singleton nu va fi creată până când metoda first debugan () nu va fi apelată. Această metodă asigură faptul că instanțele singleton sunt create numai atunci când este necesar.







Articole similare

Trimiteți-le prietenilor: