Ho un'applicazione che ha alcune classi che gestiscono alcune funzioni specifiche, hanno una durata pari all'applicazione stessa e sono pensate per essere utilizzate in molte parti del programma. Per quest'ultimo motivo li chiamo Servizi. Ad esempio, il servizio audio riproduce file audio e fa molte altre cose relative all'audio.classi singleton/statiche per servizi
Queste classi vengono istanziate una sola volta all'avvio delle applicazioni e non ha senso avere più di una per tipo.
Da quando ho letto molte risposte su singleton qui su SO, dove il loro utilizzo è scoraggiato, ho continuato passando un riferimento a questi servizi quando necessario. Mentre il progetto sta crescendo mi trovo con molte classi che hanno bisogno di un riferimento di servizio sul loro costruttore e in alcuni casi anche una facciata di quei servizi per evitare di aggiungere tutti i riferimenti ai servizi.
Penso che sto sbagliando. Penso che questo dovrebbe essere un buon uso per le classi statico/singleton.
È un approccio corretto?