sábado, 22 de agosto de 2015

Singleton - Design Pattern


Singleton Pattern
Intención
Garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella.
Conocido Como
N/A
Motivo
A veces es importante asegurar que una clase sólo tiene una instancia (por ejemplo una sola cola de impresión, un gestor de ventanas, un sistema de ficheros...)
Aplicaciones
Cuando
  • Debe haber exactamente una instancia de una clase, que debe ser accesible a los clientes a través de un punto de acceso conocido.
  • La instancia única pueda tener subclases, y los clientes deban ser capaces de usar las subclases sin modificar su propio código.

Estructura

Participantes
  • Define una operación Instance estática que permite a los clientes acceder a su instancia única.

  • Puede ser responsable de crear su única instancia.
  • Colaboradores
    Los colaboradores llaman al método que hace referencia a la única instancia de Singleton.
    Implementación

    Código de Ejemplo

    Usos Conocidos
    La clase java.lang.Runtime del API de Java es una clase Singleton, no tiene constructores públicos y se obtiene su única instancia llamando a getRuntime().
    Patrones Relacionados
    Es frecuente utilizarlo con Abstract Factory, Builder y Prototype.

    No hay comentarios:

    Publicar un comentario