首页 新闻 会员 周边 捐助

asp.net中数据库访问类是否都应该用static

0
悬赏园豆:5 [已关闭问题]

    这是我今天写程序时突然想到的,不知道对不对恳请勘正:

   我,包括我看到的一些例子,都是把访问数据库的相关操作封装到一个类中,然后再每个aspx页面实例化一个数据库操作类的实例进行操作,今天做的例子里他把数据库中的方法都写成静态方法如:
    public static bool getDataReader()
    { ..........}
这样就不必在每个页面实例化一个类。

    我突然想到的是:在每个页面实例化一个实例,在有很多人访问网站时,它是否要实例化好多实例呀?这样应该对性能有所影响吧?或者说会频繁地启动垃圾回收!

 或者可以这样问:什么时情况下适合用static?

  我的一点理解:是不是 假如一个类 Class1中有100个方法,我不用静态方法static时,实例化(Class1 c = new Class1)需要分配10K内存,而把类Class1中的方法都改成static 实例化类时也许就用1K内存了?因为static 方法不属于某个实例。

钢的锅的主页 钢的锅 | 初学一级 | 园豆:10
提问于:2010-04-11 00:55
< >
分享
其他回答(2)
0

你可以全部写成static慢慢往下做,没有人能说static一定不好,或者static一定好,成长和提高是要犯错误才能得到的

按自己的意愿往下做,如果没有问题,就说明这种方式是适合你的项目的,适合的就是优秀的

如果出现问题,那么你一定会发现问题是什么,然后再去思考哪种方式是最合适的

亲身经历过,才是最快的成长

 

为了避免被人说我在空谈,在这里我就提出一个用static的不好的地方:

数据库连接的生命周期很难管理

 

至于为啥很难管理,做下去自然会发现的~

Gray Zhang | 园豆:17610 (专家六级) | 2010-04-11 12:13
0

ls,只要不把sqlconnection设成static就不会有生命周期问题的吧:)

感觉那个好像是设计方面的事情了,都搞成了静态的那设计模式没法整了,小站,要求性能那样应该也不会有问题。

还有lz的话10K自定义的类哪能那么多啊,至于不管有多少方法只要4字节的方法表的指针即可,主要是字段占用内存。感觉没必要计较那点性能

LittlePeng | 园豆:3445 (老鸟四级) | 2010-04-11 20:20
0

实例化(Class1 c = new Class1)需要分配10K内存,而把类Class1中的方法都改成static 实例化类时也许就用1K内存了?

------------------

这种想法很有问题。

路过秋天 | 园豆:4787 (老鸟四级) | 2010-04-12 17:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册