日期:2014-05-17  浏览次数:20725 次

管理类用静态类还是单例好
我写了个管理类,从程序开始到结束都存在。
这个类不能派生,不过里面有很多字段和方法。
是用静态类好还是单例好?

------解决方案--------------------
静态类就很好。
------解决方案--------------------
静态类容易调用方法和字段属性等,但我感觉用单例问题更少,比如做同步控制的时候,可以用this来锁临界区,
------解决方案--------------------
有很多字段和属性的话还是用实例类比较好,除非你的程序的单用户客户端类型的。
否则请求之间都会覆盖字段、属性的赋值。。。
------解决方案--------------------
引用:
有很多字段和属性的话还是用实例类比较好,除非你的程序的单用户客户端类型的。
否则请求之间都会覆盖字段、属性的赋值。。。


本身静态类就可以实现单例模式——你只要把“实例”作为静态类的一个成员变量就可以了。
------解决方案--------------------
你的概念错了,c#并不把静态字段放在栈里,而是放在一个叫“全局区”或者“静态区”的地方,静态区和heap/stack并列,静态区大小相对于少数静态变量来说无限大,无需考虑其容量,

栈里面存放的是方法内部使用的局部变量,不是静态字段,

堆里存放的则是new生成的所有class的实例,

引用:
我只知道静态的与非静态存放在不同地方,存放静态的地方叫栈,然后栈的容量很小。
所以我想大量的静态字段会不会使狭小的栈空间变得非常拮据。
由于本人对这方面知识可以说是没有,所以有了这些想法和疑问。