在做数据库连接类的时候
我把里面的方法做成静态的方法
提供DAL层用,有一个问题就是如果把数据访问类中的方法做成静态的
,如果同时出现几个访问,就会造成效率问题
如果把连接类里面的方法做成非静态,用一个工厂类来实例化,
但是这样又出现不必要的内存浪费,
或者不用工厂
直接在DAL层中实例化,但是这样又比较冗长,好纠结啊
求高手指路,本菜鸟将感激不尽

解决方案 »

  1.   

    对于clr来说,所有的方法都是静态
    实例方法,需要先创建实例,才能调用实例方法,而静态方法则不需要..  
    从性能上说,静态方法效率要稍微高一些,但是它会常驻内存...  
    一些情况下使用静态方法是有好处的,因为对于静态方法无论你有多少个实例,  
    内存中要维护的一份拷贝。  
    一般使用频繁的方法用静态方法,用的少的方法用动态的。静态的速度快,占内存。动态的速度相对慢些,但调用完后,立即释放类,  
    可以节省内存,可以根据自己的需要选择是用动态方法还是静态方法。  
    http://topic.csdn.net/u/20101108/11/f28d9d5d-7376-47db-b056-9935aa34194a.html
      

  2.   

    一般 把OracleConnection, Update, insert, delete, slelect等方法写成,放在在一个类中,然后做成DAL.