Singleton en Java

Bien, un Singleton en términos muy generales es un objeto del cuál sólo podremos tener una instancia (es decir sólo podemos construir un objeto de esa clase durante la ejecución del programa). Programar un Singleton en Java es muy sencillo, lo único que tenemos que hacer es evitar que otras clases tengan acceso al constructor de mi clase singleton, y ¿cómo se hace eso? Pues sólo tenemos que hacer el constructor Privado, y luego hacemos un método que nos regrese la única Instancia creada.



public class Singleton {


//LA UNICA INSTANCIA QUE SERÁ CREADA
//LA CREAMOS DESDE QUE SE CARGUE LA CLASE
private static Singleton instancia = new Singleton();


//HACEMOS EL CONSTRUCTOR PRIVADO
//PARA QUE SÓLO PUEDA INSTANCIA OBJETOS DESDE LA MISMA CLASE
private Singleton() {
}


//MÉTODO PARA OBTENER LA INSTANCIA
public Singleton getInstance() {
return instancia;
}



}





En este ejemplo la instancia se crea, desde que se crea la clase, pero a veces es mejor crear la instancia hasta que se pide, entonces el código quedaría algo así:


public class Singleton {



//CREAMOS LA REFERENCIA
//AUNQUE AL INICIO APUNTA A NULL
private static Singleton instancia ;


//HACEMOS EL CONSTRUCTOR PRIVADO
//PARA QUE SÓLO PUEDA INSTANCIA OBJETOS DESDE LA MISMA CLASE
private Singleton() {
}


//MÉTODO PARA OBTENER LA INSTANCIA
public Singleton getInstance() {
if(instancia==null) //SI ES NULL
instancia = new Singleton(); //LO INSTANCIAMOS
return instancia;
}



}



Y con esto creamos nuestra clase Singleton, Luego ya le podemos programar métodos adicionales que son los servicios que va a ofrecer.

Saludos

0 comments:

Post a Comment