伯伯菜园系列 之 “接口”白菜 - 编程入门网
);
}
#endregion
}
public class Business
{
#region 延楚
private static Type dalType;
private IDAL dal;
#endregion
#region 更夛痕方
public Business()
{
dal = Activator.CreateInstance(dalType) as IDAL;
}
static Business()
{
//web.config: <add key="DatabaseType" value="sqlserver" />
string DatabaseType = ConfigurationManager.AppSettings ["DatabaseType"];
if (!string.IsNullOrEmpty(DatabaseType))
{
switch (DatabaseType.ToLower())
{
case "sqlserver":
dalType = typeof(SqlDAL);
break;
case "mysql":
dalType = typeof(MySqlDAL);
break;
case "oracle":
dalType = typeof(OracleDAL);
break;
default:
dalType = typeof(SqlDAL);
break;
}
}
else
dalType = typeof(SqlDAL);
}
#endregion
/// <summary>
/// 評茅匯永方象
/// </summary>
/// <param name="id"></param>
public void Remove(string id)
{
dal.Delete(id);
}
}
伯伯菜园系列 之 “接口”白菜(4)时间:2011-08-18 博客园 农民伯伯注意:这段代码不考虑SQL语句安全、效率等问题,关键是体现接口的作用。 说明:好处是显而易见的,可维护性高,这段业务代码在切换数据库时是不需要更改任何代码的,只 需轻松的把web.config的DatabaseType指定为其他的数据库类型就行了。这得益于SqlDAL、MySqlDAL、 OracleDAL都是按标准的方式来实现的数据库操作的。便于分工,我们可以把这三个类分别交给三个人精 通各自数据库的人来编写,这样同时也将业务层和数据层解耦了,只要标准一出,数据层和业务层的员工 就可以同时开始编写代码,业务层员工只管按标准调用,而数据层员工只管按标准来编写。 有些朋友可能说,既然接口主要用于标准,我小型项目就没必要弄这么复杂了,但是我的朋友,你应 该知道复用这回事吧,也就是说我做完这个项目我还得做下一个项目。如果我能够把这个项目的数据层直 接移植到下个项目该多好,即使数据库改变也没有关系,假如你花心思设计好了我相信这不会很困难:) 2.参数传递 对于接口的用途我最早是在j |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |