Singleton — RexDac Academy

RexDac AcademyNote tehnice · Ajută să ai câteva noțiuni de bază
0%Note publicate citite · pe acest dispozitiv

Principii și arhitectură / Șabloane de proiectare / Creaționale

Singleton

Note originale de SunDiaL · Vezi sursa în engleză

Problema: Trebuie să te asiguri că un obiect are o singură instanță (fără a face clasa statică).

Soluția: Clasa să păstreze o referință statică la ea însăși.

În practică, în zilele noastre nu ar trebui să fie nevoie să faci asta, deoarece varianta mai bună este să îți injectezi clasa ca singleton. Dar, dacă ai nevoie, așa se face.

public class SingletonExample
{
	private static SingletonExample instance;
	
	public SingletonExample Instance 
	{
		get
		{
			//only create one instance ever.
			if(instance == null)
			{
				instance = new SingletonExample();
			}
			
			return instance;
		}
	}
	
	//prevent access to the constructor from outside by 
	//explicitly adding a private one.
	private SingletonExample() { } 
}