以下是daf的结构示意图:
是不是看上去还比较简单?
根据以往的经验判断,在这种继承模式下,主要的开发工作全部集中到了dafbase和mydaf身上,customerdaf的任务相对轻松,数据校验或者转换处理也并不是每个方法都需要的j
那么,daf既然号称façade,除了满足façade之必要条件,还要起很好的表率作用,为上面的data entity façade和下面的data access layer作出一个榜样(也是一个桥梁),以下就是作者总结出的4大要素:
(1) 所有的数据访问请求全部通过daf进行转发,无论是
database还是xml,这都保证了数据访问接口的一致性;
(2) 对传入参数的校验以及返回结果的处理,全部在daf中进行,这也确保了数据格式的一致性;
(3) 所有在daf中声明的数据访问操作全部采用data entity façade作为数据实体参与处理(这也是之所以采用façade的原因之一),而下文所述的data access logic则没有这个限制(可以直接使用诸如dataset / datatable / objectset这样的框架类型作为数据实体)!
(4) 如果需要通过远程访问(例如:remoting,webservices)进行数据交换或处理(注意:不是在business logic中j),您可以选择在daf中进行,也可以在具体的data access logic中进行(请参考下文data access logic中的论述)。
说到这里,大家是不是已经对daf有个大概的印象了呢?
如果还不是很清楚,那么,下文即将推出的data access logic(请注意:这里的data access logic虽然也可简称为dal,但和data access layer是截然不同的两个概念!)就会进一步帮您看清daf的真实面目j