Singleton

El patrón Singleton es un patrón de diseño creacional que garantiza que una clase tenga una sola instancia y proporciona un punto de acceso global a esa instancia.

Para lograr esto, la clase Singleton restringe la creación de objetos de sí misma a través de la ocultación del constructor y proporciona un método estático que devuelve siempre la misma instancia.

Esto es útil cuando se necesita tener exactamente una instancia de una clase en toda la aplicación, como por ejemplo para controlar el acceso a una base de datos, gestionar la configuración global o mantener un registro centralizado.

El patrón Singleton garantiza que la instancia única sea compartida por todos los componentes que la necesiten y evita la creación excesiva de objetos, lo que puede mejorar el rendimiento y el uso eficiente de los recursos. Sin embargo, su uso excesivo puede llevar a acoplar en exceso el código y dificultar las pruebas unitarias. En Angular por ejemplo, los servicios son clases que se utilizan para compartir lógica, datos o funcionalidades entre componentes. Cuando se define un servicio en Angular, por defecto, es un singleton. Esto significa que Angular crea una única instancia del servicio y la proporciona a cualquier componente que lo inyecte. Esto es útil para compartir datos o funcionalidades comunes en toda la aplicación.

Last updated