trabajo de literatura
La idea principal del singleton y por la cual fue creado es para proveer por decirlo asi un tipo de mecanismo para limitar el numero de instanciaciones de una clase, eso quiere decirque por la estructura del código del mismo , solo se podrá instanciar una sola vez esa clase sin perder la función de la misma, por decirlo asi también , el singleton es una forma elegante parainstanciar una clase , ya que en la estructura de nuestro código en una clase no se verán tantas instanciaciones , solomente una , por lo tanto se verá mucho menos desordenado el código , más atractivo y deuna mejor comprensión.
El singleton se usa cuando se va a instanciar una clase y se guardaran datos en un objeto, pero cada vez que se necesiten guardar datos en una nueva posición, se debe deinstanciar de nuevo , el singleton hace que solo se instancie una vez y que este proceso siga funcionando sin ningún error, siempre y cuando se mande a llamar desde la clase en la que deseamos que elSingleton desarrolle su función .
Las variables del singleton son del tipo de la clase a la cual le crearemos este mecanismo y se instanciara dentro de la misma.
La estructura de un Singleton en undiagrama UML seria la siguiente :
El Singleton se usa más que todo en clases que son consideradas como únicas y también se puede usar más de un Singleton en un programa pero se requiere de otraclase para poderla llevar a cabo ya que la variable del Singleton debe ser del tipo de la clase , se hace imposible usar un Singleton para varias clases que no hagan referencia a la clase en la que seusara el mecanismo.
EJEMPLOS.
public class Singleton {
private static Singleton instance= null;
private Singleton(){
}
public static Singleton getInstance() {if(instance== null){
instance = new Singleton();
}
return instance;
}
}
Un ejemplo correcto de inicialización diferida. Se deja para comentar un error común en Java al no tener en cuenta...
Regístrate para leer el documento completo.