¿Cómo se utiliza el Singleton? Como todo patrón de diseño, se implementa donde se requiere.
Si buscas cualquier documentación de patrones, verás como se implementa el Singleton, pero a grandes rasgos es:
-
Su función es devolver siempre la misma instancia de un objeto. Si no existe el objeto (la "primera vez" que se lo invoca) se crea. La segunda vez, se devuelve la misma instancia siempre.
-
El constructor para cumplir con todo esto,
debe ser privado (es decir, lo anulamos para que no se puedan crear libremente instancias).
Lo que puedes hacer es
crear un método "getInstance" y que el resto de los objetos lo usen siempre que necesiten una instancia del objeto en cuestión; el Singleton.
¿Se entiende? ¡Implemente un ejemplo!