|
Intención
|
Garantizar
que una clase sólo tenga una instancia y proporcionar un punto de acceso
global a ella.
|
Conocido Como
|
|
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.
|
|
|
|
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.
|
|
|
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