Я читал в разных местах, что наличие переменных с глобальной областью видимости, то есть общедоступного статического класса со статическими членами, считается противоречащим философии ОО и не является хорошим дизайном. (Например, я видел комментарии в виде: «Если вы используете глобальный, вы не делаете это правильно.» Или слова на этот счет.)
Но если вы используете механизм настроек, предоставляемый Visual Studio, например, «Settings.Default.MySetting» и т. Д., Это доступно по всему приложению, так чем же оно отличается от использования открытого статического класса?
Кроме того, те же результаты могут быть достигнуты при использовании одноэлементного объекта, но это также вызывает различные мнения, если не сказать больше.
Глобальные переменные просто НАСТОЛЬКО полезны, (модуль VB, кто-нибудь?), Но я пытаюсь научить себя, как правильно делать эту ОО-малярию, поэтому, если глобальные переменные плохо пахнут с ОО-точки зрения, что альтернатива?
Меня особенно интересует мнение людей об использовании функции «Настройки». Считается ли это хорошим дизайном ОО?
Спасибо за любые комментарии.