Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/08/2009, 10:08
Avatar de dwaks
dwaks
 
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 22 años, 6 meses
Puntos: 15
Respuesta: Duda con Singleton

Debes entender bien el concepto de Singleton para que no te confundas, ahy 2 formas en mi punto de vista para hacer uso de esta técnica que es siempre tener 1 instancia de un objeto.

1- Clase que se instancie a ella misma una sola vez
Esta técnica se basa en poner el constructor como private y crear una Propiedad static de la misma clase dentro de ella:

using System;

public class Singleton
{
private static Singleton instance;

private Singleton() {}

public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
}

2- Clase que hace 1 sola instancias static de otras clases
Esta técnica se basa en anidar en una sola clase otras clases que son instanciadas una sola vez y pueden ser accesadas desde cualquier punto de un programa.

using System;

public class Global
{
private static DataBaseClass instance;

public static DataBaseClass DataBase
{
get
{
if (instance == null)
{
instance = new DataBaseClass();
}
return instance;
}
}
}

De esta forma desde cualquier parte se usaría: Global.DataBase.Execute(query) ó cualquier método que tengan definido en la clase DataBase.

Dejo más referencia aquí:
http://es.wikipedia.org/wiki/Singleton

Saludos,