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

静态方法有那么好么
项目组的前辈留下的代码中,所有DAL层的方法都是静态方法,这样做有多大好处呢?

------解决方案--------------------
不用new一个对象即可直接使用
------解决方案--------------------
不需要每次都实例化一个对象,提高了调用效率,写代码也轻松一点。
------解决方案--------------------
引用:


弊端呢?


操作变量每次都会被改变
------解决方案--------------------
静态方法会一开始的时候就加载到内存,以后一直在内存中存在,所以会占用一定的内存空间。
------解决方案--------------------
引用:


弊端呢?


1、不可重写
2、在程序启动的时候,全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释放
------解决方案--------------------
自己百度一下 神马都有了啊,不管你要学静态,还是多态,神马态都有
------解决方案--------------------
 在DAL层也可以不用静态方法 我感觉个人习惯而已
------解决方案--------------------
我们是
dal层不用静态 用单例 放在缓存中。
bll层基本全是静态
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:



弊端呢?


1、不可重写
2、在程序启动的时候,全部装入内存的,而不管这些方法、属性以后有没有用到。即使是没有人再访问程序,这部分内存仍然不会释放


方法所占内存也不大吧。同一个类,用静态方法或实例对象,哪个占的内存更大呢。


这个没什么区别的,方法最终都会映射成为一张table,只不过存放的时机和区域有所不同罢了,调用效率没什么区别
用实例方法更符合面向的设计,当你需要针对不同的数据库分别去写DAL类时有非常有用了
------解决方案--------------------
用静态方法扩展性差到爆。
------解决方案--------------------
将业务全部写程静态方法,这是最典型的把轿车轮子拆了当轿子用——事实上在非面向对象的结构化编程语言中,我们就是使用模块+函数来组织代码的,这和类+静态函数如出一辙。
------解决方案--------------------
要做到动静合一。把要实再的用动态写好,再适动写几个静态方法,可以减少很多代码。
------解决方案--------------------