【发布时间】:2023-03-12 17:41:01
【问题描述】:
我在不同的地方读到过,具有全局范围的变量,即具有静态成员的公共静态类,被认为违背了 OO 的哲学,并且不是好的设计。 (例如,我看到 cmets 大致是这样的:“如果您使用的是全局变量,则说明您的做法不对。”或者类似的词。)
但是,如果您使用 Visual Studio 提供的设置机制,例如“Settings.Default.MySetting”等,这在整个应用程序中全局可用,那么这与使用公共静态类有何不同?
另外,使用单例对象也可以达到同样的效果,但这也引发了各种不同的意见,至少可以这么说。
全局变量非常有用,(VB 模块,有人吗?),但我正在尝试自学如何正确地执行此面向对象的问题,因此,如果从面向对象的角度来看全局变量闻起来很糟糕,那是什么?替代方案?
我对人们对使用“设置”功能的看法特别感兴趣。这算不算好的面向对象设计?
感谢任何cmets。
【问题讨论】:
标签: c# winforms settings global-variables