三层构架的概述

三层构架,通常意义上的三层构架就是减肥整个业务应用分为:界面层、业务逻辑层、数据访问层

区分层次的目的即为了“高内聚低耦合”的思想,在软件体系架构设计中,分层式结构最常见,也是最重要的一种结构,微软推荐的分层式结构一般分为三层,从上至下分别为:数据访问层、业务逻辑层、表示层

数据库访问层:

访问数据系统中的文件,实现对数据库中数据的读取保存操作

表示层:

主要功能是显示数据和接收传输用户的数据,可以在作为网站的系统运行提供交互式操作界面,表示层的应用方式比较常见

业务逻辑:

将用户输入信息进行甄别处理,分别保存,建立新的数据存储方式,在存储过程中对数据进行读取,将“首页逻辑”描述代码进行包含

三层架构软件系统为用户的数据传输、提取、储存创造了遍历条件,在应用数据时,信息划分架构开发项目,对各层次之间的工作职责进行清晰规划,作业就降低了网站系统的维护风险

结构

(1)表示层

表示层又称表现层UI,位于三层构架的最上层,与用户直接接触,主要是B/S信息系统中的web浏览页面。作为web浏览页面,表示层的主要功能是实现系统数据的传入与输出,在此过程中不需要借助逻辑判断操作就可以将数据传送到BLL系统中进行数据处理,处理后悔将处理结果反馈到表示层中

(2)业务逻辑层

业务逻辑层BLL的功能是对具体问题进行逻辑判断与执行操作,接收到表现层ui的用户指令后,会连接数据访问层DAL,访问层在三层架构中位于表示层与数据层之间位置,提示也表示层与数据层的桥梁,实现三层之间的数据连接和指令传达,可以对接收数据进行逻辑处理,实现数据的修改、获取、删除等功能,并将处理结果反馈到表示层ui中,实现软件功能

(3)数据访问层

数据访问层DAL是数据库的主要操控系统,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层BLL。在实际运行的过程中,数据访问层没有逻辑判断能力,为了实现代码边写严谨性,提高代码阅读程度

优缺点

(1)优点

a、开发人员可以只关注整个结构中的其中一层

b、可以很容易的用新的实现来替换原有层次的实现

c、可以降低层与层之间的依赖

d、有利于标准化

e、利于合成逻辑的复用

f、结构更加的明确

g、在后期维护的时候,极大降低了维护成本和维护时间

h、避免了表示层直接访问数据访问层,表示层只和业务逻辑层有联系,提高了数据安全性

i、有利于系统的分散开发,每一个可以由不同的人员来开发,只要遵循接口标准,利用和相同的对象模型实体类就可以了,这样就可以大大提高系统的开发速度

j、方便系统的移植

k、项目结构更清楚,分工更明确,有利于后期维护和升级

(2)缺点

a、降低了系统的性能,如果不采用分层式结构,很多业务可以直接造访数据库,一次获取相应的数据,如今却必须通过中间层来完成

b、有时会导致级联的修改。这种修改尤其体现爱自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

c、增加了开发成本

应用

(1)应用服务器

(2)应用客户端

(3)数据服务器

(4)数据库和应用服务器的连接

Javaweb11(三层架构)相关推荐

  1. 一个简单实用的,基于EF的三层架构

    到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会 ...

  2. 亮剑.NET的系列文章之.NET实现三层架构(三)

        最近一直在学习三层架构,前些天同样也写了一篇同样的博客,今天主要是通过一个登录的实例给大家讲解每部分的作用和相应代码的实现.     先将实现三层架构的UML图给大家,帮助大家更好的理解三层. ...

  3. .NET应用三层架构分析

    2019独角兽企业重金招聘Python工程师标准>>> 近来在做一个.NET的项目,使用C#进行开发.项目采用常用的三层架构,稍微调查了一下,发现所接触到的.NET的项目基本都是采用 ...

  4. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  5. 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!

    一丶使用三层架构创建一个简单的MVC登录操作 1.首先,创建一个项目以及BLL层.DAL层.Entity层,如图一: 图一 2.创建一个数据库如图二: 图二 3基本工作已做好,接下来就编BLL层.DA ...

  6. 什么是三层架构?简单的介绍三层架构!

    三层架构(3-tierarchitecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer).业务逻辑层(Business Logic Layer). ...

  7. [三层架构+WCF]三层架构+WCF实现TaskVision

    前面的一篇博文DebugLZQ使用三层架构实现了TaskVision,并在后面利用Webservice代替ClassLibrary实现SQL Server 2008数据库操作提供程序.关于三层架构的理 ...

  8. 趣味理解:三层架构与养猪—《.NET深入体验与实战精要》

    为了更好地让初学者轻松入门,这里仍然采用趣味性的方式聊一些常用技术点,致力于.NET新手们的快速提高!知识都是普通的,关键是学习的思路.技术源于生活,技术原来可以这样学.抛砖引玉而已.  层次结构在现 ...

  9. 解析三层架构(1)---为什么要分层?

    随着分层设计的进行,对分层逐渐有了更深的了解.准备利用几篇文章,深度的分析一下分层设计. 我这里的题目之所以叫三层架构,不一定代表着系统就是三层.古语中三为多.这里的三层也可能是 四层,五层 或者更多 ...

最新文章

  1. Ansible02-实施playbook
  2. mysql bigint 运算_mysql中int、bigint、smallint 和 tinyint的区别详细介绍
  3. java设计优化--观察者模式
  4. CentOS上使用libtld
  5. 重磅!GitHub发布开源负载均衡组件GLB
  6. mybatis数据库数据分页问题
  7. jsp springmvc 视图解析器_springMVC配置jsp/html视图解析器
  8. Linux bash介绍
  9. 训练好caffemodel后,提取人脸图片的特征向量
  10. Jquery项目练习-狂拍灰太狼
  11. 高拍仪二次开发(多浏览器,BS,Web)样例
  12. 随机抽样方法——DataFrame.sample()
  13. 如何才能把文字的排版做好
  14. C/C++编程:仿函数
  15. win10重置网络命令_重置网络:Win10重置网络的技巧
  16. 嵌入式数据库和数据库服务器的区别
  17. 大数据可视化陈为智慧树_知到智慧树大数据可视化网课答案
  18. 钉钉直播 — 为什么直播屏幕共享显示黑屏?(仅针对mac端)
  19. 我的世界python写游戏_用python写游戏之 Give it up
  20. 计算机勾兑双绝是谁发明,勾兑是什么?

热门文章

  1. 前端和后端 数据交互的基本知识
  2. java list 时间排序吗_java中的list时间排序
  3. 数字图像处理及图像频域
  4. UltraEdit编码设置
  5. 正视代码Review,养成良好的编程习惯
  6. 物联网新秀—辽宁奥普泰,全新工作模式亮相│2021CPSE安博会现场直击
  7. 互联网晚报 | iPhone 15 Pro Max预计售价2万块;周杰伦起诉网易不正当竞争;腾讯定性微信QQ故障为一级事故...
  8. Unit2-电梯调度
  9. mysql生成行号_MySQL生成行号
  10. linux sed 打印行号,sed 匹配pattern并输出行号