如果按照面向对象的思想不所有的操作都封装到类中,
在asp.net程序中每点击一个按钮都要新建一个类,然后就丢弃(asp.net全局变量不太好用,只能使用局部变量),如果频繁点击按钮,则系统开销很大,这样好吗?
还是我理解有误??
谢谢各位谈谈自己的看法!!

解决方案 »

  1.   

    //在asp.net程序中每点击一个按钮都要新建一个类,然后就丢弃
    简直不知所云
      

  2.   

    楼主基础知识太差,先看看书吧
    搞清楚类与对象的关系
    还有WEB程序的流程
      

  3.   

    实际上,我早期的观点,asp.net程序比asp和jsp要节省资源的多。因为在asp和jsp中,会滥用Session,因为自己写一个框架太复杂、要考虑的东西太多了。而在asp.net中,由于提供了完整的页面创建、处理、清除的逻辑框架,程序员就可以按照这个框架很简单地写局部的代码,就像仅仅给大厦装一道门、换一段管道一样。c/s程序很快,但是一个相同等级的服务器当它服务于20个用户,性能就严重下降,用户越多性能下降的越快,这就是因为所谓的“不丢弃对象”造成的。当一个网站要服务于5000个用户的时候,当一个人需要一个页面的时候,其它人也许在客户端上发呆,其它人的页面以及临时变量如果完全霸占服务器内存,那么服务器就运行的很慢了,当垃圾不清除以至于物理内存不够用的时候,真正正在执行的程序会慢1000倍。因此你用一个"hello world!"这样的小程序的理念去推理一个实际应用,会有方向性错误。当然当有办法让垃圾不再占用服务器内存,同时又比磁盘快100倍的时候,asp.net的默认页面产生和清除过程确实又显得非常死板、拖沓。但是这恐怕是“世界先进”的技术,自然有让asp.net页面的ViewState、所有Controls等缓存在自己的设备上的办法,几条代码就可以了。 没有永远正确的结论,只有慢慢深入,不断改变,结论永远是相对的。
      

  4.   

    我了解得不多!
    我举个例子,我定一个Person类;
    class Person
    {
      string name;
      int age;
      string Name
     {
        get{return name};
        set{name=value;}
     }
      //从数据库中检索人员信息
      Method1(){}
      //将人员信息保存到数据库中
      Method2(){}
      ...........
    }  由于这些方法都封装到Person类中,在Asp.Net中操作每个方法都要从新定义一个Person实例
     是这样吗?
      

  5.   

    默认的是这样的。但是几乎任何一个都可以简单地改变。2年前我第一个用asp.net写商品化程序的时候,将Viewstate改变为保存在服务器的系统临时目录的文件中(同时在cache集合中缓存20秒钟),而不是在客户端与服务器端来回传递,这也不过仅仅用了30行左右的代码。同样,控件等等你也可以缓存,只不过那时候我发现不值得占用资源,而应该让它每一次都重建。当然这和你的编程框架有关。我可以负责任地说,那些什么《ASP.NET高级程序员手册》等等著名的书籍仅仅介绍asp.net不到四分之一的重要但是初等的东西,而到书店里去看垃圾书更多,真正有用的asp.net书是几百里挑一,我记得我以前似乎仅仅看到黄忠成写的《深入什么什么asp.net组件》(具体名字我忘记了)是从原理入手介绍的。大多数貌似介绍asp.net原理的书,其实是在讲脱离了asp.net系统运行机制的那些通俗的计算机软件或者网络通讯原理。没有原理支持,就不懂得如何去动手用好它。就像一个修理电视机的人不懂原理仅仅靠巧合去修理。