今天来说一下三层架构是什么这方面的一些讯息,不少朋友对一个完整计算机系

统的组成部分应该是这方面的一些讯息颇感兴趣的,小编今天就整理了一些信息,希望对有需要的朋友

有所帮助。

三层架构 通常意义上的三层架构就是将整个业务应用划分为:界面层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。

三层架构(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、项目结构更清楚,分工更明确,有利于后期的维护和升级。

以上就是关于三层架构是什么对比这方面的一些信息了 小编整理的这些讯息希望

对童鞋们有所帮助。

c/s三层结构信息系统的三个层次_网络资讯:三层架构是什么相关推荐

  1. c/s三层结构信息系统的三个层次_如何使用ABP框架(2)三层架构与领域驱动设计的对比...

    本文来自长沙.NET技术社区,原创:邹溪源.全文共有8500字,读完需耗时10分钟. 题图来自@pixabay 简述 上一篇简述了ABP框架中的一些基础理论,包括ABP前后端项目的分层结构,以及后端项 ...

  2. mysql三个层次_数据库的基本结构三个层次

    数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合.这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增.删.改和检索 ...

  3. python对象三个特性_百度资讯搜索_python对象三个特性

    金生水起程序猿 2020年11月22日 16:26大纲(面向对象的三大特性) 封装性继承性多态性 封装性 封装隐藏了对象的属性和方法内部实现细节,仅对外提供公共访问方式,类的内部可以访问,外部不可以访 ...

  4. MVP+WCF+三层结构搭建项目框架(上)

    最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构 ...

  5. 浅谈“三层结构”原理与用意(转帖)

    浅谈"三层结构"原理与用意 序 在刚刚步入"多层结构"Web应用程序开发的时候,我阅读过几篇关于"asp.net三层结构开发"的文章.但其多 ...

  6. Asp.net三层结构原理与用意学习入门教程(一)

    接解asp.net已很久了,一直采用一个解决方案一个项目的方式去开发,所有的数据操作全放在一个类文件里,以为这就是所谓的三层结构,后来听说真正的大型网站的三层结构,应该是三个项目,或是更多的项目组成的 ...

  7. [转]MVP+WCF+三层结构搭建项目框架

    最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构 ...

  8. 基于三层结构的CRM系统(Agent X)的设计和开发

    现代计算机应用技术不断发展的同时,CRM也得到了前所未有的发展.最初的CRM系统基本上都是基于两层结构-C/S模式(客户机/服务器).自从C/S模式提出后,对CRM的发展起到了巨大的推动作用. 但随着 ...

  9. 数据传输网络 三层结构体系(核心层 汇聚层 接入层)

    数据传输网络 三层结构体系(核心层 汇聚层 接入层) 三层结构体系模式:核心层 汇聚层 接入层 基于复杂的网络简单化处理,网络采用三级分层体系. 网络的三层分层体系结构: 网络三层结构体系是采用层次化 ...

最新文章

  1. 计算机网络 | 网络基础 :网络协议,协议分层,数据封装与分用,地址管理,字节序
  2. 第6章 Python 数字图像处理(DIP) - 彩色图像处理3 -色彩变换、彩色校正、彩色图像平滑和锐化、HSI彩色空间中的分割、RGB空间中的分割、彩色边缘检测
  3. matlab gradient
  4. es 全量同步mysql_使用canal将mysql同步到es中
  5. gcc学习(二)[第二版]
  6. oracle存储过程入门之hello world
  7. Sun JVM 内存管理、参数与调优、内存分配与回收策略、GC 日志配置使用详解
  8. 科锐c语言,科锐C语言学习视频,资源教程下载
  9. java json 根据 key排序
  10. js设置cookie值 判断登陆
  11. LabVIEW编程LabVIEW开发以编程方式将前面板移动到所需位置
  12. jQuery 汉字转拼音
  13. Apache Sling App CMS <1.1.4 存在反射型XSS漏洞(CVE-2022-46769)
  14. python 中全局变量、局部变量、静态变量,实例变量的区别和理解
  15. 部署 GlusterFS 群集
  16. 关于对信号归一化后的频谱“消失”问题
  17. A类博士年薪25万!5200/月额外津贴,三年内副教授待遇!35万安家房补+30万科启...
  18. 人生的意义是什么,活着的意义是什么?
  19. 加速度测试什么软件,错题整理神器,喵喵错题APP实现高效学习的第一步
  20. Ubuntu中图片批量重命名

热门文章

  1. Scala里的控制台输出print实现原理
  2. SAP CDS view的文本格式的源代码是如何被ABAP后台解析的
  3. SAP Fiori elements第二次重复加载的问题
  4. local path of sap-ui-core-less-140903345-dbg.js
  5. 如何为SAP OData消费维护不同的ABAP后端系统
  6. 推荐一个包含大量PDF编程电子书的github仓库
  7. 关于SAP成都研究院的一些微信公众号文章
  8. 关于SAP CRM Organization Unit组织结构单元自动决定的一些调试
  9. 另一种方式实现事务码SE16里的结果集修改
  10. 从产品展示页面谈谈Hybris系列之二: DTO, Converter和Populator