三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表
现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高
内聚,低耦合”的思想。
概念简介:
1、 表示层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的
所见所得。
2、 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据
业务逻辑处理。
3、 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修
改、更新、查找等
各层的作用:
1、 数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的
形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不
是数据库,具体为业务逻辑层或表示层提供数据服务。
2、 业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操
作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积
木的搭建。
3、 表示层:主要表示Web方式,也可以表示成WinFrom方式,Web方式也
可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和
更改,逻辑层都能完善地提供服务。
具体的区分方法:
1、 数据数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他
的各个函数主要完成各个对数据文件的操作,而不必管其他操作。
2、 业务逻辑层:主要负责对数据层的操作,也就是说把一些数据层的操作进
行组合。
3、 表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程
序的访问。
优缺点:
优点:
1、 开发人员可以只关注整个结构中的其中某一层;
2、 可以很容易的用新的实现来替换原有层次的实现;
3、 可以降低层与层之间的依赖;
4、 有利于标准化;
5、 利于各层逻辑的复用。
缺点:
1、 降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务
可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完
成。
2、 有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表
示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相
应的业务逻辑层和数据访问层中都增加相应的代码。
3、 增加了开发成本。