Singleton implementado con C# podría ser así:¿cuál es la diferencia entre propiedad estática y singleton?
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}
Si uso estática para implementarlo como:
public static class Globals{
public static Singleton Instance = new Singleton();
}
de esta manera, la aplicación también debe obtener sólo un ejemplo para toda la aplicación. Entonces, ¿cuál es la diferencia entre estos 2 enfoques? ¿Por qué no usar miembros estáticos directamente (más simple y directo)?
¿Necesitamos declarar * * constructor estático en aquí para flujos seguros? –
@CuongLe No con la versión 'Lazy'. Es muy bueno ya que proporciona la seguridad adecuada de los hilos Y la instanciación lenta y perfecta, con una API simple. –
Ah, sí, lo tengo, +1 –