Я читал в разных местах, что наличие переменных с глобальной областью, то есть открытый статический класс со статическими членами, считается противоречащим философии OO и не является хорошим дизайном. (Например, я видел комментарии в соответствии с: «Если вы используете глобальный язык, вы не делаете это правильно». Или слова на этот счет.)Глобальные переменные v Настройки в C#
Но если вы используете механизм настроек, предоставляемый Visual Studio, например «Settings.Default.MySetting» и т. Д., Это доступно по всему миру в приложении, так как это отличается от использования общедоступного статического класса?
Кроме того, те же результаты могут быть достигнуты с использованием одноэлементного объекта, но это также вызывает, по меньшей мере, различные мнения.
Глобальные переменные просто полезны, (модуль VB, кто-нибудь?), Но я пытаюсь научить себя, как правильно это делать, малакию OO, поэтому, если глобальные переменные плохо пахнут с точки зрения OO, что является альтернативой?
Меня особенно интересуют мнения людей об использовании функциональных возможностей «Настройки». Является ли это хорошим дизайном OO?
Благодарим за любые комментарии.
Трудное время? Да. Будет ли трудное время остановить решительного, некомпетентного разработчика? Никогда. Я потерял подсчет количества раз, когда я видел что-то, реализованное в манере, которая является более сложной и менее правильной, чем разработанная. (И я буду лгать, если я скажу, что я никогда не был виноват в такой вещи.) –
Хорошая точка Грег Д. Вы должны увидеть некоторые из моих прошлых кодов snafus! –