简单浏览器服务器三层架构

XXXX 大 学

学生毕业设计(论文)外文译文

学生姓名:XXX学号:XXXXXXXXXX专业名称:计算机科学与技术译文标题(中英文):简单浏览器/服务器三层架构(译)Sample B/S 3-tier application译文出处:Martin Fowler;Patterns of Enterprise Application Architecture;Addison-Wesley Professional;2003.08指导教师审阅签名:外文译文正文:

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。

三层结构原理:

3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。

所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。

三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。

表示层

位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

业务逻辑层

业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

数据层

数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。

简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。The definition of the 3-tier application:

Normally,3-tier application is that the entire business is divided into:User Interface(UI)、Business Logic Layer(BLL)、Data Access Layer(DAL).The purpose of the distinction between the level of that in order to "high cohesion, low coupling" thinking.

1、User I

浏览器服务器三层系统结构,简单浏览器服务器三层架构.doc相关推荐

  1. python实现简单的http服务器_python实现简单http服务器功能

    背景 写一个python脚本,实现简单的http服务器功能: 1.浏览器中输入网站地址:172.20.52.163:20014 2.server接到浏览器的请求后,读取本地的index.html文件的 ...

  2. 服务器数据库的简单维护,服务器数据库的简单维护

    服务器数据库的简单维护 内容精选 换一换 GaussDB(DWS) 为用户提供GaussDB(DWS) 管理控制台.GaussDB(DWS) 客户端.REST API等多样化的使用方式.本章节为您介绍 ...

  3. java服务器代码_简单java服务器

    [java]代码库import java.io.InputStream; import java.io.OutputStream; import java.net.*; public class Ch ...

  4. 自建服务器调试,Mac简单实现服务器搭建(本地)与iOS调试

    本人也是小菜鸟一枚,有时候服务器比较忙,有的数据没办法测试,程序有时候无法联调,于是乎找到了相关的一些文章进行了本机服务器搭建,容易上手,话不多说,开始吧. 一.下载一个jar包 点击链接下载服务器端 ...

  5. 在 .NET 中开发基于 Chrome 内核的浏览器-创建一个简单浏览器

    首先在 http://www.cftea.com/tools/downloads/Cef.zip 下载文件包. 一.将文件解压拖入到 Visual Studio 对应的 WinForm 项目中. 二. ...

  6. python实现简单的http服务器_Python实现简单HTTP服务器(二)

    #coding:utf-8 importsocketimportreimportsysfrom multiprocessing importProcessclassHTTPServer(object) ...

  7. 浏览器服务器三层系统结构,Browser/Server系统的三层体系结构

    下载本文示例代码 随着Internet越来越广泛的应用,原来基于局域网的企业网开始采用Internet技术构筑和改建自己的企业网,即Intranet.于是,一种新兴的体系结构Browser/Serve ...

  8. 【Android RTMP】NV21 图像旋转处理 ( 快速搭建 RTMP 服务器 Shell 脚本 | 创建 RTMP 服务器镜像 | 浏览器观看直播 | 前置 / 后置摄像头图像旋转效果展示 )

    文章目录 安卓直播推流专栏博客总结 一. 编写快速搭建 RTMP 服务器 Shell 脚本 二. RTMP 快速搭建方法 三.创建阿里云 RTMP 服务器镜像 四.浏览器查看直播内容 五.前置 / 后 ...

  9. springboot 获取登录浏览器_java项目部署到linux服务器,微信小程序后台springboot项目部署到云服务器(图文详解)...

    前面给大家讲了一个点餐系统的开发,包括java点餐后台和微信点餐小程序.可是都是教大家如何在本地把项目跑起来.今天就来教大家如何把这个点餐系统部署到服务器,实现商用. 传送门 点餐系统的开发,java ...

  10. 手机浏览器找不到服务器,苹果手机的Safari浏览器找不到服务器怎么办?

    苹果手机无疑是我们生活种使用频率非常高的智能设备,当我们遇到什么问题时,第一时间也许就是拿起苹果手机,打开Safari浏览器,搜索问题的解决方案.如果,您突然发现Safari浏览器无法正常运行,突然找 ...

最新文章

  1. Jupyter-ROS(机器人操作系统)
  2. 好程序员Java教程分享之jvm篇
  3. Google研究员Ilya Sutskever:成功训练LDNN的13点建议
  4. 串操作指令及其应用程序的设计与调试运行——汇编实验四 用8086汇编完成下题 编制一程序,从键盘输入两个长度不同的字符串,设字符串长度小于25个字符。要求在屏幕上以右边对齐的形式显示出
  5. 百兆工业交换机与千兆工业交换机如何计算码率?
  6. 非插件实现回复可见效果
  7. WPF数据驱动应用程序上具有通用Lambda表达式的筛选器模式
  8. 解决常见接口跨域问题
  9. 随笔:大学英语六级 303 分到 576 分带来的一些回忆
  10. 专为Mac用户设计的创建图形模式软件:Patternodes 2.4.4
  11. win10,对于VNR无法使用OCR光学识别的方法,仿照大佬们所讲,图解
  12. 无人机系统测试软件,无人机航测软件(pix4D)
  13. python绘图--由逐日风场数据计算月平均风场数据并绘制二维填色图
  14. 不要STUPID,坚持GRASP和SOLID
  15. Ubuntu重启黑屏无法进入GUI桌面
  16. 借助阿里云轻松部署企业网盘
  17. 图吧地图(V5.0公测版) 高清地图今日公测
  18. 哔咔漫画怎样切换横屏?
  19. 最新版网页浏览器Flash插件离线版安装程序下载
  20. (智力题)一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这3盏灯相连。确定每个开关具体管哪盏灯?

热门文章

  1. οnchange相当于前端js函数,可以实现前端实时更新以及修改验证
  2. 弱监督论文解读:CADN- 用于表面缺陷检测的基于弱监督学习的分类感知对象检测网络
  3. java.util.TaskQueue的最小堆排序算法的应用
  4. 计算机应用基础教案 电子书,计算机应用基础教案(全套)-20210511075659.pdf-原创力文档...
  5. Java精品源码第83期在线旅游网站系统(推荐)
  6. 淘宝客服外包哪家最好
  7. 数学分析教程(科大)——2.10笔记+习题
  8. 实验中常用光纤接头型号
  9. 预卷积HDR环境贴图
  10. 中职学校计算机基础的重要性,中职非计算机专业学生计算机基础教学浅探