三层架构是什么意思 三层架构是什么

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer) 。区分层次的目的即为了“高内聚低耦合”的思想 。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构 。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层 。

三层架构是什么意思 三层架构是什么

文章插图
概述顾名思义,三层架构分为三层,分别是“数据访问层”、“业务逻辑层”、“表示层” 。
数据访问层:数据访问层在作业过程中访问数据系统中的文件,实现对数据库中数据的读取保存操作 。
表示层:主要功能是显示数据和接受传输用户的数据,可以在为网站的系统运行提供交互式操作界面,表示层的应用方式比较常见,例如 Windows 窗体和 Web 页面 。
业务逻辑层:将用户的输入信息进行甄别处理,分别保存 。建立新的数据存储方式,在存储过程中对数据进行读取,将“商业逻辑”描述代码进行包含 。
三层架构软件系统为用户的数据传输、提取、储存创造了便利条件 。在应用数据时,信息划分架构开发项目,对各层次之间的工作职责进行清晰规划,这样就降低了网站系统的维护风险 。
三层原理3 个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理 。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层 。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有 B/S 应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上 。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理 。通常情况下,客户端不直接与数据库进行交互,而是通过 COM/DCOM 通讯与中间层建立连接,再经由中间层与数据库进行交互 。
【三层架构是什么意思 三层架构是什么】三层架构中主要功能与业务逻辑一般要在业务逻辑层进行信息处理和实现,其中三层体系架构中的客户端和数据库要预设中间层,成为组建层 。三层架构中的三层具有一定的逻辑性,即是将三层设置到同一个计算机系统中,把业务协议、合法校验以及数据访问等程序归置到中间层进行信息处理,一般客户端无法和数据库进行数据传输,主要是利用 COM/DCOM 通讯和中间层构建衔接通道,实现中间层与数据库的数据传输,进而实现客户端与是数据库的交互 。
结构表示层表示层又称表现层 UI,位于三层构架的最上层,与用户直接接触,主要是 B/S 信息系统中的 Web 浏览页面 。作为 Web 浏览页面,表示层的主要功能是实现系统数据的传入与输出,在此过程中不需要借助逻辑判断操作就可以将数据传送到 BLL 系统中进行数据处理,处理后会将处理结果反馈到表示层中 。换句话说,表示层就是实现用户界面功能,将用户的需求传达和反馈,并用 BLL 或者是 Models 进行调试,保证用户体验 。
业务逻辑层业务逻辑层 BLL 的功能是对具体问题进行逻辑判断与执行操作,接收到表现层 UI 的用户指令后,会连接数据访问层 DAL,访问层在三层构架中位于表示层与数据层中间位置,同时也是表示层与数据层的桥梁,实现三层之间的数据连接和指令传达,可以对接收数据进行逻辑处理,实现数据的修改、获取、删除等功能,并将处理结果反馈到表示层 UI 中,实现软件功能 。
数据访问层数据访问层 DAL 是数据库的主要操控系统,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层 BLL 。在实际运行的过程中,数据访问层没有逻辑判断能力,为了实现代码编写的严谨性,提高代码阅读程度,一般软件开发人员会在该层中编写 DataAccessCommon,保证数据访问层 DAL 数据处理功能 。
各层作用1.数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务 。
2.业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建 。
3.界面层:主要表示 WEB 方式,也可以表示成 WINFORM 方式,WEB 方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务 。
规则三层结构并不是普通的 DAL,BLL,WebUI 三个模块,三层程序有一些需要约定遵守的规则:
1.最核心的模块规则,表现层只是外壳作用,不能包含任何 BizLogic 的处理过程 。
2.各层次模块设计时应该从业务逻辑层出发,而不是开始于表现层. 。业务逻辑层在 API 上应该实现所有 BizLogic,以面向对象的方式 。
3.不论数据层是一个简单的 SqlHelper,还是带有 Mapping 的 Classes,应该保证其与抽象的系统层无关 。
4.不管使用 COM+(EnterpriseService),还是 Remoting,还是 WebService 之类的远程对象技术,不管部署是否在服务器上,在起码在设计时必须要考虑多台服务器通过负载均衡作集群 。
综上,考虑一个项目是否符合应用三层或多层设计时,必须要考虑是否真正符合项目的需求 。
优缺点优点1.开发人员可以只关注整个结构中的其中某一层;
2.可以很容易的用新的实现来替换原有层次的实现;
3.可以降低层与层之间的依赖;
4.有利于标准化;
5.利于各层逻辑的复用;
6.结构更加的明确;
7.在后期维护的时候,极大地降低了维护成本和维护时间;
8.避免了表示层直接访问数据访问层,表示层只和业务逻辑层有联系,提高了数据安全性 。
9.有利于系统的分散开发,每一个层可以由不同的人员来开发,只要遵循接口标准,利用相同的对象模型实体类就可以了,这样就可以大大提高系统的开发速度 。
10.方便系统的移植,如果要把一个 C/S 的系统变成 B/S 系统,只要修改三层架构的表示层就可以了 。业务逻辑层和数据访问层几乎不用修改就可以轻松的把系统移植到网络上 。
11.项目结构更清楚,分工更明确,有利于后期的维护和升级 。