抽象简意
AbstractFactory factory = null;
switch (databaseType)
{
case "SQLServerDAL": factory = new SqlServerFactory(); break;
case "OracleDAL": factory = new OracleFactory(); break;
}
return factory;
1.抽象工厂类:定义判断指向实例化具体工厂,和一下接口+定义抽象方法如:
public static AbstractFactory chooseFactory()
{AbstractFactory factory = null;
switch (databaseType)
{
case "SQLServerDAL": factory = new SqlServerFactory(); break;
case "OracleDAL": factory = new OracleFactory(); break;
}
return factory;
}
//定义抽象方法返回接口,此类为BLL调用,根据数据库类型获取DAL层对象
public abstract IApplicationSystem Get_ApplicationSystemDAL(string sysdatabaseprefix);
2.具体工厂重写接口+定义抽象方法,再返回Dal中的方法
public override IApplicationSystem Get_ApplicationSystemDAL(string sysdatabaseprefix)
{
return new oracle.ApplicationSystem(sysdatabaseprefix);
}
3.接口:定义未实现的方法
public IApplicationSystem Get_ApplicationSystemDAL(string sysdatabaseprefix);