Ho letto in vari punti che avere variabili con ambito globale, vale a dire una classe statica pubblica con membri statici, è considerato contrario alla filosofia di OO e non è un buon progetto. (Ad esempio, ho visto commenti sulla falsariga di: "Se stai utilizzando un globale, non lo stai facendo bene." O parole in tal senso.)Variabili globali v Impostazioni in C#
Ma, se si utilizza il meccanismo Impostazioni fornito da Visual Studio, ad es "Settings.Default.MySetting" ecc., Questo è disponibile a livello globale in tutta l'app, quindi come si differenzia dall'utilizzo di una classe statica pubblica?
Inoltre, gli stessi risultati possono essere ottenuti utilizzando un oggetto singleton, ma ciò provoca anche varie opinioni, per non dire altro.
Le variabili globali sono così utili, (Modulo VB, chiunque?), Ma sto cercando di insegnarmi come fare correttamente questo OO malarky, quindi, se le variabili globali hanno un cattivo odore da un punto di vista OO, che cosa è un'alternativa?
Sono particolarmente interessato alle opinioni della gente sull'uso della funzionalità "Impostazioni". Questo è considerato un buon design OO?
Grazie per eventuali commenti.
Un momento difficile? Sì. Sarà difficile fermare un determinato, incompetente dev? Mai. Ho perso il conto del numero di volte in cui ho visto qualcosa implementato in un modo che è sia più difficile che meno corretto rispetto al modo progettato. (E mentirei se dicessi che non sono mai stato colpevole di una cosa del genere.) –
Buon punto Greg D. Dovresti vedere un po 'del mio vecchio codice snafus! –