Singleton es uno de los patrones más utilizados en el desarrollo de software. Se encarga de velar que exista una única instancia de la clase. El patrón centra todas las acciones en un único objeto, lo que significa que pueden existir problemas en aplicaciones concurrentes si no se toman las medidas adecuadas. La implementación será Java. Estructura general del patrón:

public class MyClass {
   static private MyClass instance = null;
    private MyClass{}
    synchronized public static void CreateInstance()
   {
        instance = new MyClass();
   }

   synchronized public static MyClass getInstance()
   {
        if(instance == null) 
               instance = new MyClass();
        return instance;
   }
}

Mediante synchronized, se establece exclusión mútua entre todos los hilos que deseen acceder, empleando como monitor la propia clase, pues se trata de métodos estáticos. Fíjate bien que los constructores son privados. De esta forma se obliga a que para tener un objeto se tenga que emplear algunos de los dos métodos. Si lo crees necesario, puedes incluir un método publico más para liberar recursos y hacer que la instancia sea nula.

Como conclusión, hay que acostumbrarse a emplear patrones de diseño pues dan soluciones a problemas cotidianos en la vida de cualquier programador.


  1. Tambien se puede hacer asi, se carga instancia el objeto cuando se carga la clase y no tenemos que pasar por un if null cada ves que solicitamos el objeto y no necesitamos un synchronized en el metodo getIntance ya que el mismo es de solo lectura.
    En el caso anterior era necesario porque dos hilos podia crear al mismo tiempo un objeto.
    mas performante supongo….
    y menos codigo ….


    public class MyClass {

    static private MyClass instance = new MyClass();
    private MyClass(){}

    public static MyClass getInstance()
    {
    return instance;
    }

    }

  2. Lenny

    Tienes razon, es mucho más eficiente este método.
    Gracias por la corrección.




Leave a Comment




  • RSS En meetui.com:

    • Lector de DNI por 2 Euros
    • Logo conmemorativo a Barrio Sésamo
    • Soporte para ATOM en Meetui
    • Administrador de comentarios
    • Meetui renovado
  • .:Páginas:.

  • Recomendamos meetui.com

    meetui.com es una nueva red social que gira entorno a los blog, presominando la sencilles y una interface sencilla.
    Entra en meetui.com
  • .:Madagascar p2p virtual disk:.

    Madagascar es una aplicación peer-to-peer que permite compartir música, video y cualquiertipo de archivos con quien tú quieras. La aplicación crea un gran disco duro virtual formado por todos los integrantes de la red. Las comunicaciones son anónimas y soporta cifrado AES 128 bits.
  • .:CiberDerechos:.

    Articulo 18.2 y 18.3 de la Constitucion: " 3. Se garantiza el secreto de las comunicaciones y, en especial, de las postales, telegráficas y telefónicas, salvo resolución judicial."
  • .:Post recientes:.

  • .:Frases:.

    "Los viejos todo lo cree; los adultos todo lo sospechan, mientras que los jovenes todo lo saben"
    (Oscar Wilde)
  • .:Clasificados:.