回 帖 发 新 帖 刷新版面

主题:在类中,使用全局变量,是不规范的设计吗?(可是有时不用全局变量真不好办呀!)

在类中,使用全局变量,是不规范的设计吗?(可是有时不用全局变量真不好办呀!)
---------------------------------
我做的是一个c/s模式的管理系统,后台是sql server 2000,我写了一个类,作用是数据库的操作,比如返回记录集,执行各种数据库的操作等.在这个类中,一定要用到连接对象呀.由于是c/s模式的,所以我想用一个永久的长连接,我试过,如果用随用随连接的方式,并不好.每次操作都要连接.关闭,太频了.没有意义.速度慢.
所以我决定用一个全局连接对象.所以的数据库操作都共享这个连接对象.
但是问题出现了:我想问问,在类中引用这个全局的连接对象,是不好的,不规范的设计思路吗?我看到资料上说,在类中不能引用类外的变量.这样增加耦合性,降低内聚性,但是如果不这样做,又能如何做呢?

所以我想问题,应该如何做才好呢?
当然,我也知道,可以在类中定义一个连接对象,每次实例化这个类时,将全局的连接对象赋给类中定义的连接对象,但是这样好象意义也不大,定义变量不说,每次实例化都要创建对象.好象对效率也不利,所以发贴请大家指教.

回复列表 (共4个回复)

沙发

把这个连接对象放在类内部,并定义为静态类型

板凳

什么是静态类型呀,好象C++中有这个提法,vb中没有吧。

3 楼

static并非C/C++的专利...

4 楼

不好意思,是我记错了,VB里面的Static只能用于过程级变量,不能用于全局变量。

我以前在VB上看过一个类所有实例共享变量的方法的,不过现在都忘了。可能是在标准模块中声明Public变量的方法吧,不过这样对于楼主没有意义了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册