在页面的code behand文件中每次调用业务逻辑类时都需要通过工厂类反射获得实例。感觉有点耗性能,所以我想把所有的业务逻辑类都写成全局的变量,如:
public class Unity
{
    public static readonly IXXX_BLL = Factory.CreateXXX();
    public static readonly IYYY_BLL = Factory.CreateYYY();
    ………………
}
我的业务逻辑类中没有字段属性,都是一些方法。把所有类写成全局的,在需要的时候拿来用一下,而不需要每次都创建。不知道我这样做会不会有问题?

解决方案 »

  1.   

    当然可以,单件模式,spring.net就是这么做的
      

  2.   

    纯粹的static,在做分布式的程序时会比较难受。
    另外,如果你需要在并发竞争的环境下使用类似这样的static写法会有一些逻辑问题。
      

  3.   

    比如,你的两个方法都需要用到一个static 变量,并且都对它有所更改。
    在不进行并发竞争控制的前提下,会使变量的值不可预期.当然,如果你的static方法不需要使用任何static变量。这个因素就可以不考虑。