基于接口(工厂模式)的三层架构,各层文件夹如下示:
Web
BLL
Model
IDAL
DALFactory
SqlServerDAL问题1:SQL处理语句应该写在哪一层,在网上找过资料,有的写在BLL层,有的写在DAL层,标准的应该写在哪个层?问题2:各层之间的引用关系是怎样的?问题3:层与层之间是怎样访问的?迷惘中...

解决方案 »

  1.   

    1  当然写在 DAL 里。DAL 的意思就是 data access layer  数据访问层
    如果你能把第 2 个搞清楚。第 3 个主不是问题了。
    第二个其实非常简单,LZ 上网自己找,鼓励你自学
      

  2.   

    dal 一听这的名字就知道是干什么的啦!!
      

  3.   

    1. DAL
    2. web 引用 bll, bll 引用 dal
    3. 反射,依赖注入,抽象工厂
      

  4.   

    哈哈,谢谢楼主。这个问题像我问的一样,我现在正在做一个项目,按petshop的模式做的。里面就是这几个文件夹!也想搞清楚一下。不过朦朦胧胧的感觉懂了,但说不出来。第三个:反射,依赖注入,抽象工厂,反射和依赖注入还不清楚什么意思!!!顶
      

  5.   

    以下是我项目中的引用,不知道是否有错:Web引用BLL、Model、DAL、DALFactory、IDALBLL引用Model、DAL、DALFactory、IDALDALFactory引用Model、IDALIDAL引用ModelDAL引用Model、IDAL不含工厂模式的三层已了解其访问过程,但对于工厂模式的三层还是有点迷惘。现在项目中要用到工厂模式架构,还请熟悉的朋友再指点一二。谢。
    一直在努力!!!
      

  6.   

    一、项目名称及描述:(实现步骤为:4-3-6-5-2-1)  
    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、注意在解决方案里增加各项目引用。