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