对asn.net三层架构的初步认识
从接触三层架构到现在有两三个月的时间了,从听说时候的一头雾水到中期对各个层的迷迷糊糊(现在还有点迷惑不过好多了),还有就是今天的不完全了解,虽然进展的很慢,但是总算是有了一点点的眉目,废话少说来看下具体的情况:
迷惑在哪呢?在网上参考了很多的资料,也看了很多的博客,有的说是这样,有的说那样。主要原因就是在有的提供的项目中的三层架构包括的有BLL文件夹、DAl文件夹、Model文件夹、DBUtility文件夹最后加上一个Web文件夹,好家伙说是三层结构有五个文件夹(这里是根据李天平.net代码生成器生成的项目里的文件来说的),直到今天看到了一篇博客才对三层结构有了点眉目。
原文如下:
理解ASP.NET中的三层结构
我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级.
三层结构包含:
USL 是表示层 User Service Layer
BLL 是业务逻辑层 Business Logic Layer
DAL 是数据访问层 Data Access Layer
一、三层体系架构
1.表示层(USL):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
2.业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3.数据访问层(DAL):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。
二、具体区分
1.表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。
2.业务逻辑层:主要负责对数据层的操作,也就是说把一些数据层的操作进行组合。
3.数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作,而不必管其他操作。
三、总结
三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。有的三层结构还加了Factory、Model等其他层,实际都是在这三层基础上的一种扩展和应用。
至此才对三层结构有了初步的认识。下定决心研究三层结构到底。