El patrón singleton limita una clase a una sola instancia para que sea compartida por todo el código. Se usa cuando debe haber exactamente una instancia de una clase accesible desde un punto conocido, o cuando se requiere un acceso estandarizado. Los clientes acceden a la única instancia a través de un método getInstance().