我觉得是可以的,因为DataBase这个类是抽象类,里面包含了所有数据库的公共特性,我们可以采用多继承实现多数据库支持的,比如要支持sqlserver数据库必须写一个类继承自Database(注意:企业库已经帮你实现了好几个这样的继承类,所以使用者就不用再写了).
那么Database db = DatabaseFactory.CreateDatabase(); 这句话其实是是实例化一个我们上面说的某一个继承类哦(主要看你连接字符串的提供者属性是设置成什么数据库,它就实例化什么继承类),
DataBase这个抽象类本身设计也没有把连接对象设计成属性,而是执行里面一个数据访问方法就在方法内部创建一个连接对象,或者外部创建一个连接对象传递给该类的数据访问方法,所以该类的实例完全可以设置成静态的,可以支持多线程,而不会造成连接对象被多线程共用的现象,放心吧,用吧
再进一步说DatabaseFactory.CreateDatabase();这个方法内部肯定也有对创建的实例进行缓存.
给我分吧,说了这么多了,哈哈
并不建议使用静态的,不仅仅是并发上的问题,很有可能一次异常之后,这个Database将始终处在不可用状态