1.除了不能生成不同的实例.2.项目的运行速度会不会很慢??因为static占用内存大?谢谢

解决方案 »

  1.   

    那会怎样?  
    你想怎样?
    什么都不会发生//项目的运行速度会不会很慢?
    不会//因为static占用内存大?
    无稽之谈
      

  2.   

    一般不会,但内存不会释放,直到应用结束,一肌不建议这样做,参考一下MSDN,里面有一篇告诉你什么时候该用静态方法
      

  3.   

    我只感觉到static使用很方便,呵呵
      

  4.   

    那会怎样?如果你是coder...那会被leader骂...
    如果你是leader...那会被coder嘲笑...
      

  5.   


    设计Math类的程序员,可以羞愧死了...
      

  6.   

    先想一下Math类是干什么的...再想一下应用开发中有多少这种情况...
      

  7.   


    我并不认为Math类算一个特例,换个人设计的话,很可能就不是这种情形了
    这种情况的确少见,但不等于就可以无视
    顺便说一句,真是要举特例的话,就拿Console说事了。
      

  8.   

    楼主太在是难得的想法呀?刚毕业?得罪说句,你太天真了,没有见过大project了吧.
      

  9.   

    這么說,換你來設計,Math類的所有方法都是實例方法了?
    不要以為你不常用這些方法,別人就不用,也不要以為你不用,人家.net的其他類庫就不調用。
    大家好才是真的好。
      

  10.   

    我覺得static用在某些地方還是很方便的。
    但是濫用的話.....
      

  11.   

    static实际上是一种过程语言函数库的性质
    1.功能相对单一
    2.比较依赖参数实际上作为公用函数或方法做成static比较好。
    但全篇都用static比较麻烦,因为static可以随时调用,这样就没有对象层级上的限制,在分层架构里会随时出现穿越调用
    如果是穿越调用,ui可以直接调Dal,那么你的Bil还用来干吗?
      

  12.   


    给您一句忠告:先看清楚我们在争论什么。
    其次,不要对我说的话断章取义。1.我说的是换个人(未必是我),很可能(不一定)
    2.就算是我,我说不是这种情形,就代表着一定要完全反过来,全部设计为实例方法?
    3.我有说常用不常用的话吗?正是常用才举的这些例子,否则的话,我就举Activator,举Buffer了。
      

  13.   

    一般只有Util class和常用的方法,用static
      

  14.   

    你覺得你這話說得不多餘嗎?說來說去,還不是那點意思?那很好,我還以為你不常用。我說的常用,是有另外一層意義的,那就是性能。面向對象的確很好,但要靈活變通,全面分析,不要被面向對象弄傻了。一個應用程序框架裡面,有些功能是會被頻繁調用的,就像Math類,除了你常用之外,dotnet內部的很多類都在不停的使用他,難道非要每次都創建一個類?
    舉個例子:某個小鎮上有一個旅館,每天都有很多外地人去玩並且過夜,過夜有兩個辦法,A:住旅館;B:建房子住。如果是我,我一定會選擇A,不知道換了你,會怎么做?建房子?BS你一下,很反感不懂裝懂還要連帶裝牛13的人。所以我的這篇迴貼可能有點火藥味。
      

  15.   

    1. 一個應用程序框架裡面,有些功能是會被頻繁調用的,就像Math類,除了你常用之外,dotnet內部的很多類都在不停的使用他,難道非要每次都創建一個類?
    2. 某個小鎮上有一個旅館,每天都有很多外地人去玩並且過夜,過夜有兩個辦法,A:住旅館;B:建房子住。如果是我,我一定會選擇A,不知道換了你,會怎么做?建房子? 
    --------------------------------------------------
    順便讓那些不知道什么時候應該使用靜態方法或者靜態類的朋友,上述兩種實例均要使用。
      

  16.   

    我不知道你为什么要纠缠为常用不常用的问题,我们从一开始没说到常用的事,我只说了,Math类算不得特例,隐含的意思其实是:在实际应用中同样会遇到相似的情况,而在相似的情况下,全静态方法才是正确的设计,希望你先把我们所说的都一一看清楚了再发表评论,OK?希望你能保持克制,否则,你BS别人,别人一样会BS你,人身攻击就更等而下之,自重。
      

  17.   

    不怎么样.
    STATIC占内存,胡扯
      

  18.   

    不知道全用Static 会不会有并发的问题
      

  19.   

    “我并不认为Math类算一个特例,换个人设计的话,很可能就不是这种情形了”
    -----------------------------
    我對你所說的理解是:換個人設計,Math類就該設計為實例方法,至少大部分成員方法應該作為實例方法。
    而我的意思是,幾乎計算機的任何應用都離不開數學,每次進行數學運算都要創建實例,性能誰來承擔?
    不知道是我的理解有問題,還是你的理解有問題?很好,如果你的語氣一開始就有這樣的水準,你也用不著說這句話了。
      

  20.   

    好好讨论啊。Math这样的类么,我认为应该设计成全静态方法的。
      

  21.   

    我一般用static来定义全局函数,全局方法
      

  22.   

    36樓shalen520所說的這個標準是正確的。
    但不是全部。當對性能有較大的影響時,OO有何意義?除非開發者負責把用戶升級內存的費用埋單。
      

  23.   

    To boblaw:
      来这儿:http://topic.csdn.net/u/20080320/13/53e45a7d-0c7f-423b-bfd2-d977d627f66e.html,继续。To vrhero:
        希望你也能来作个见证,看看我有没有错误理解你所说的话。
      

  24.   

    这个问题很不错 呵呵 学习
    结果是一样的 只是性能存在差别吧
    从上看到下 还是没有看出实例化好还是静态化好  不过我很少用static
      

  25.   

    OO和性能没关系
    Math类本就应该是静态,String本就应该是实例,这样的OO才叫OO。
      

  26.   

    To dancingbit & boblaw:汗死了...两位吵什么啊...讨论而已嘛...大家不要激动...其实一开始我的意思是说...因为我相信用.NET做开发的绝大多数都是做应用系统的...全是静态方法的项目(注意楼主说的是项目而不是类)有吗?我是没见过...静态方法用于和对象实例无关的计算和操作,如果创建了类的任何实例,不能使用实例来访问静态方法所以一个类全部方法都是静态是没问题的...而一个项目意味着很多类很多对象...所有的方法都和对象实例无关?好好想想吧...
      

  27.   

    偶见过,Domain Service整个project 基本都是static class
      

  28.   

    构造函数形同虚设....基本没有被new的机会了
      

  29.   

    我只认为能把东西做出来就是好的。
    能够把别人的东西比下去就是好的,至于怎么写才能比下去,看个人的想法。new未必就好,static未必就好,怎么用怎么好就怎么用
      

  30.   

    //因为static占用内存大? 
    内存不会释放,太多的话相对来说还是有影响的
      

  31.   

    参考我的帖子:不服自己都不行,IE+FF执行脚本完美解决方案。
      

  32.   

    看需求吧,不能說用了Static就不好吧?