Está en la página 1de 1

El patrn de diseo singleton (instancia nica) est diseado para

restringir la creacin de objetos pertenecientes a una clase o el valor de


un tipo a un nicoobjeto.
Su intencin consiste en garantizar que una clase slo tenga una
instancia y proporcionar un punto de acceso global a ella.
El patrn singleton se implementa creando en nuestra clase un mtodo
que crea una instancia del objeto slo si todava no existe alguna. Para
asegurar que la clase no puede ser instanciada nuevamente se regula el
alcance del constructor (con atributos como protegido o privado).
La instrumentacin del patrn puede ser delicada en programas con
mltiples hilos de ejecucin. Si dos hilos de ejecucinintentan crear la
instancia al mismo tiempo y esta no existe todava, slo uno de ellos
debe lograr crear el objeto. La solucin clsica para este problema es
utilizar exclusin mutua en el mtodo de creacin de la clase que
implementa el patrn.
Las situaciones ms habituales de aplicacin de este patrn son aquellas
en las que dicha clase controla el acceso a un recurso fsico nico (como
puede ser el ratn o un archivo abierto en modo exclusivo) o cuando
cierto tipo de datos debe estar disponible para todos los dems objetos
de la aplicacin.
El patrn singleton provee una nica instancia global gracias a que:

La propia clase es responsable de crear la nica instancia.


Permite el acceso global a dicha instancia mediante un mtodo de
clase.
Declara el constructor de clase como privado para que no sea
instanciable directamente.

También podría gustarte