新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:实战 .Net 数据访问层 - 9

实战 .Net 数据访问层 - 9

新客网 XKER.COM 2004-06-18 来源: 收藏本文
Ok,上面的DafBase只是个Abstract Base Class(ABC),请继续

看下面的真正Daf:



代码8:让DAF工作起来!

// MyDaf:提供当前应用程序所需的Data Access支持,从DafBase继承

public class MyDaf: DafBase

{

public MyDaf() { }



protected override DefBase CallDalMethod(

object[] paramsValue)

{

...

DefBase def = base.CallDalMethod(paramsValue);

...

return def;

}

}



// CustomerDaf:包含实际的数据访问方法声明,

// 通过调用DAL获取数据,从MyDaf继承

public class CustomerDaf: MyDaf

{

public CustomerDaf() { }



public MyCustomer GetCustomerById(string strId)

{

... // 检查或转换传入参数

MyCustomer cust = (MyCustomer)CallDalMethod(

new object[] { strId });

... // 对数据结果进行修改或转换

return cust

}



public MyCustomer GetCustomers(string strName)

{

... // 检查或转换传入参数

MyCustomer cust = (MyCustomer)CallDalMethod(

new object[] { strName });

... // 对数据结果进行修改或转换

return cust

}

...

}

















































































































统一的Data Access Logic调用推给DefBase完成(需要根据配置

信息进行一系列“枯燥无味”的处理),自定义部分才由自己来完成,

这就是MyDaf和CustomerDaf出现的真正原因!

MyDaf相当于当前Enterprise Application的数据访问基础,可以

针对应用程序的特点提供一些基本的服务,在此服务下,真正的

CustomerDaf就可以集中精力对具体的Data Access Logic(不同于

Business Logic)进行处理了,例如:数据访问前的基本校验,对返

回结果进行转换操作等。

根据Ease of Use原则,我们也可以绕过MyDaf这层,直接让

CustomerDaf从DafBase继承,在这种情况下,整个Inheritance

Hierarchy就显得更加简单了。



收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐