Tengo una aplicación que tiene algunas clases que manejan algunas funciones específicas, tienen una duración igual a la aplicación en sí, y están destinadas a ser utilizadas en muchas partes del programa. Por esta última razón, los llamo Servicios. Por ejemplo, el servicio de audio reproduce archivos de audio y hace muchas otras cosas relacionadas con el audio.clases singleton/estáticas para servicios
Estas clases se instancian solo una vez al inicio de las aplicaciones y no tiene sentido tener más de una por tipo.
Como he leído muchas respuestas sobre singleton aquí en SO, donde se desaconseja su uso, continué pasando una referencia a estos servicios cuando sea necesario. Como el proyecto está creciendo, me encuentro con muchas clases que necesitan una referencia de servicio en su constructor y en algunos casos incluso una fachada a esos servicios para evitar agregar todas las referencias de servicios.
Creo que lo estoy haciendo mal. Creo que este debería ser un buen uso para las clases estáticas/singleton.
¿Es este un enfoque correcto?