Last active
July 6, 2026 15:40
-
-
Save thinkphp/303b6283bd4ae469f3c1175615386b72 to your computer and use it in GitHub Desktop.
Singleton Design Pattern
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //Baza de date ---- | |
| class Singleton { | |
| private static Singleton instance; //singura instanta | |
| private Singleton() { //constructor PRIVATE - nu poate fi apelat din afara | |
| System.out.println("Instanta a fost creata!"); | |
| } | |
| public static Singleton getInstance() { | |
| if(instance == null) { | |
| instance = new Singleton(); | |
| } | |
| return instance; | |
| } | |
| void showMessage() { | |
| System.out.println("Hello from Singleton!!!"); | |
| } | |
| } | |
| public class MainSingle { | |
| public static void main(String[] args) { | |
| Singleton obj1 = Singleton.getInstance(); | |
| Singleton obj2 = Singleton.getInstance(); | |
| obj1.showMessage(); | |
| obj2.showMessage(); | |
| System.out.println(obj1 == obj2); //TRUE -aceeasi instance | |
| } | |
| } | |
| /* | |
| Ideea de baza a Singleton: | |
| - Singleton rezolva o singura problema, raspunde la intrebarea: | |
| Cum ma asigur ca dintr-o clasa exista exact o singura instanta in toata aplicatia si oricine are nevoie de ea primeste aceeasi instanta?" | |
| De ce avem nevoie? | |
| - nu are sens de mai multe ori sa avem conexiuni la o baza de date | |
| - ai nevoie de o singura conexiuni la baza de date, iti creezi propria conexiune; | |
| un singur logger- daca vrei ca toate datele de log sa treaca prin acelasi obiect , atunci folosesti singleton | |
| - o singura configurare globala | |
| C language - | |
| Singleton = un singur obiect, accesibil pentru tot , GARANTAT | |
| */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment