Sto usando c # ma la domanda era più rivolta ai principi di ingegneria del software, quindi ti sto ponendo la domanda qui.
Ci sono così tante domande qui ma per lo più dicono: "Come usare le variabili globali in c #?" e "Le variabili globali sono cattive?". Ma la mia domanda riguarda "Come" per evitare variabili globali nel mio scenario.
Ho scritto una classe che funziona come livello di accesso ai dati. Ho 2 oggetti di questa classe. Uno punta al database principale e il secondo al database dei report. La stringa di connessione non è una costante, piuttosto un modulo viene visualizzato all'avvio dell'applicazione e l'utente inserisce il nome del server, il nome di accesso e la password. Ora tutte le altre classi devono utilizzare questi oggetti per lavorare con il database.
Ho la netta sensazione che questi 2 oggetti dovrebbero essere globali ma voglio evitare se in qualche modo è possibile?