我把 BLL 的方法 都写成 静态了 ,这样是方便了, 性能 会不会有影响???
    
   /// <summary>
    /// ***表
    /// </summary>
    public static partial class TB_B0Manager
    {
        private static readonly Inc.DAL.TB_B0Service dal = new Inc.DAL.TB_B0Service();        #region  Method        /// <summary>
        /// 得到最大ID
        /// </summary>
        public static int GetMaxId()
        {
            return dal.GetMaxId();
        }        /// <summary>
        /// 是否存在该记录
        /// </summary>
        public static bool Exists(string A5, string A12)
        {
            return dal.Exists(A5, A12);
        }
....

解决方案 »

  1.   

    如果别人写A他不敢写个B的,我不认为会自己设计什么“层”。为什么要“三层”你有自己的主意吗?有的话就说出来。跟static的不一定有什么关系。如果只是纠结于什么“性能”,那么你调用10000次下新旧两种程序,自己测试一下就可以了。
      

  2.   

    如果“是”三层,那么不管什有还是没有static,不用考虑把之前写的删除,你就把你static的BLL叫做BllVersion2好了,跟原来的BLL一同使用,也没有什么啊?!如果你只是计较运行速度,那么就去测试,不用讨论。
      

  3.   

    弱弱问一下4楼 CSDN发工资给你么
      

  4.   

    没有性能上的区别
    无论Method是否是静态成员,
    在运行时刻,其实都是只有一份代码copy,是否设计成静态成员,完全出于设计的考虑,
    比如:同一个接口是否存在多种实现
      

  5.   

    你BLL写成静态后那么虽然调用方便但不管你用不用它会一直存在于服务器内存之中。比如,你里面有100个类,但你只用了一个类的方法,那么太浪费了。还是用到时再实例化,那样效率高也安全。
      

  6.   

    说老实话,我现在的确闹不懂现在的程序员。什么你就效率了?什么你就性能了?什么你就认为 *p=&p 就是比 var p=1强了。什么你就开始不要用like,in操作了。说实话,多逛逛codeproject,msdn,infoq,codeplex,少逛逛博客园,javaeye。除了一些不着调的东西,那里基本没啥了。
      

  7.   


    你们说这些有什么根据么?看看微软官方的说法,你们就不这么想了
    http://msdn.microsoft.com/zh-cn/library/79b3xss3.aspx静态类型或者静态成员都是在首次调用之前才初始化的
      

  8.   

    楼主,把这篇MSDN的文章从头到尾仔仔细细看两遍,你就一清二楚了http://msdn.microsoft.com/zh-cn/library/79b3xss3.aspx
      

  9.   

    大部分书籍教程总是告诉你,加static和不加static后,在使用上的区别,却总不告诉你什么时候用静态类,什么时候用实例类~~
    我个人的体会是,如果某个对象或某个对象的成员,即使在不同的场景下,所作的行为操作没有差异时,考虑用静态类及成员~如果某个对象或成员在调用时会根据场景不同有不同的属性值或行为时,则考虑用实例成员~~如果说,将学生这个对象定义成类时,学生的姓名,年龄等信息,不同的学生会有不同的值,则应该定义成实例的,即前面不要加static,如果加个属性用来统计学生的数量时,这个数量不会因学生张三,李四的姓名不同而有改变,则可以考虑定义成静态的~
    楼主分层类中的方法调用一千遍,执行操作没有差异,完全可以用静态 !!