当前位置:  开发笔记 > 后端 > 正文

.NET中的全局变量(或替代)最佳实践

如何解决《.NET中的全局变量(或替代)最佳实践》经验,为你挑选了2个好方法。

在VB.NET WinForms应用程序中存储全局变量的最佳实践是什么.例如,当用户登录到应用程序时,您可能希望存储可在整个应用程序中访问的CurrentUser对象.您可以将其存储为模块中的对象,或者创建一个包含所有必需全局变量的成员的类,但您仍然需要在某处存储此实例.

框架是否为此提供了简单的解决方案?



1> Phaedrus..:

我认为'不要'有点苛刻,这是史蒂夫麦康奈尔的一句话:

与纪律一起使用时,全局变量在几种情况下都很有用

我认为就像一个优秀的木匠有适合工作的工具,如果需要,他们会使用正确的工具,程序员也应该使用他们可以使用的所有工具.

直接来自'Tour de Force'代码完成是使用全球数据的几个原因:

保护全球价值观

简化极其常见数据的使用

消除流浪汉数据

麦康奈尔还说:

仅使用全球数据作为最后的手段.在使用全局数据之前,请考虑一些替代方案.

以下是他列出的替代方案:

首先将每个变量设置为local,并根据需要将变量设置为global

区分全局变量和类变量

使用访问例程

我在这里提到的东西在精彩的Code Complete中得到了很好的报道



2> Morendil..:

关于全局变量的使用,大约有一个最佳实践.

"别."

(如果这听起来很苛刻,请考虑像CurrentUser这样的东西通常属于环境已经为您维护的唯一实例,例如Session.查找API以获取当前会话,将CurrentUser存储在那里并从中检索不要创建自己的全局变量,这会使你的应用程序更难维护并且容易受到竞争条件的影响.)


我在哪里可以找到WinForms应用程序中的Session?
推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有