Singleton — RexDac Academy

RexDac AcademyNotas técnicas · Ayuda tener algunos conocimientos previos
0%Notas publicadas leídas · en este dispositivo

Principios y arquitectura / Patrones de diseño / Creacionales

Singleton

Notas originales de SunDiaL · Ver fuente en inglés

El problema: Necesitas garantizar que un objeto tenga una sola instancia, sin convertir la clase en estática.

La solución: Hacer que la clase mantenga una referencia estática a sí misma.

En la práctica, hoy en día no deberías necesitar hacerlo, porque la mejor opción es inyectar la clase como singleton. Pero, si lo necesitas, así se hace.

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() { } 
}