我的系统支持access和sqlserver数据库我是采用抽象工厂中提取xml的配置信息来确定创建哪个数据操作类问题出在静态数据操作方法上。因为有些方法是经常要用的,如:新增日志为了省下new一个对象消耗的资源,所以我认为采用静态方法比较经济。但是由于数据库是不定的,只能在工厂中new一个,再来调用new出来的实例方法这样就不能用静态方法了。这个时候,我想用静态方法,而又要支持多种数据库,该怎么办???
调试欢乐多
在业务层使用单件模式来模拟数据层静态。DLL:SqlAClass, AccessAClass
AbsactFactory
BLL: AClassstatic class AClass
{
// 利用工厂构造一个一个静态只读实例,在此类中dbAClass只有一个实例。
private static readonly dbAClass = AbsactFactory.Instance.CreateDbAClass;
// 调用具体实例方法
public static void method1()
{
dbAClass.method1();
}
.......
}