三层架构基础

三层架构的一般理解:


三层是指:UIL表示层,BLL逻辑层,DAL数据操作层
首先是通过DAL数据操作层来跟数据库打交道,然后把数据返回到BLL逻辑层进行相应的逻辑处理
然后在UIL表示层现实出来,不过中间会使用带抽象工厂模式来处理连接数据库的问题,最后还会使用到
辅助层来处理NEW对象和属性。


SQL一般写在DAL层,通过数据库类实现调用。
在BLL通过接口调用DAL方法
Model,实现业务实体。
IDAL,实现接口。
SQLServerDAL,实现接口里的方法。
web.config里的配置信息,为SQLServerDAL的程序集。
DALFactory,返回程序集的指定类的实例。
BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。
WEB,调用BLL里的数据操作方法。

业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
(IDAL)它体现了“抽象”的精神,或者说是“面向接口编程”的最佳体现。抽象的接口模块IDAL
(Model)实体和数据库表映射类
(Web)web网站项目



并不是每个系统都要分层,一般只针对一些大型系统才采用分层,你看PetShop4,总共有22个项目。
大体思想是3层,从Model,DAL,BLL,

然后他在各层上又采用了工厂模式,把逻辑与实现想分离,比如以前BLL直接调用DAL就好了,
但现在BLL却调用了IDAL,IDAL只是一个接口层,里面封状了要完成的一些业务逻辑,
而具体的实现则交给DAL去实现,
然后借助于工厂模式DALFactory和映射完成IDAL层中类的实例化。

这样不管我们用的底层用的是什么数据库都可以完成BLL对DAL的调用。
首先你不应该将那些SQL语句放在BLL层中,而应该是由DAL层来完成和数据库的交互。

要想研究分层模式,PetShop4的确是一个相当好的例子,值得学习。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值