DAL是指Data Access Layer。DALFactory是用于创建数据訪问对象的工厂。本质上是採用了抽象工厂的设计模式。目的是支持多种数据訪问层,比方sql server和oracle两种实现。同一时候又利用了.net的反射机制,通过配置文件就可以确定採用哪种数据訪问实现;IDAL是数据訪问层接口,这样做的优点是使业务逻辑层调用数据訪问层的接口就可以实现数据库的增删改等操作,业务逻辑层与数据訪问层是一种抽象依赖的关系,而非详细依赖。我认为明确这些,首先须要有编程的经验,要明确接口、抽象类等的作用,再研究设计模式和软件架构。能够上博客园、csdn什么的多看看这方面的资料呗。

 


  1、WEB=表示层


  2、BLL=业务逻辑层


  3、IDAL=数据訪问层接口定义


  4、Model=业务实体


  5、DALFactory=数据层的抽象工厂(创建反射)


  6、SQLServerDAL=SQLServer数据訪问层 / OracleDAL=Oracle数据訪问层


  DBUtility 数据库訪问组件基础类


  二、项目引用关系


  1、Web 引用 BLL。


  2、BLL 引用 IDAL,Model,使用DALFactory创建实例。




  3、IDAL 引用 Model。


  4、Model 无引用。


  5、DALFactory 引用IDAL。通过读取web.config里设置的程序集,载入类的实例,返回给BLL使用。


  6、SQLServerDAL 引用 Model和IDAL,被DALFactory载入的程序集,实现接口里的方法。


  三、实现步骤


  1、创建Model,实现业务实体。


  2、创建IDAL。实现接口。


  3、创建SQLServerDAL。实现接口里的方法。




  4、添加web.config里的配置信息,为SQLServerDAL的程序集。


  5、创建DALFactory。返回程序集的指定类的实例。


  6、创建BLL。调用DALFactory。得到程序集指定类的实例,完毕数据操作方法。


  7、创建WEB,调用BLL里的数据操作方法。


  注意:


  1、web.config里的程序集名称必须与SQLServerDAL里的输出程序集名称一致。


  2、DALFactory里仅仅须要一个DataAccess类,能够完毕创建全部的程序集实例。


  3、项目创建后,注意改动各项目的默认命名空间和程序集名称。




  4、注意改动解决方式里的项目依赖。




  5、注意在解决方式里添加各项目引用。