软件架构设计(三) B/S架构风格-层次架构(一)

层次架构风格从之前的两层C/S到三层C/S,然后演化为三层B/S架构,三层B/S架构之后仍然在往后面演化,我们来看一下层次架构演化过程中都有了哪些演化的架构风格呢?

而我们先简单了解一下之前的层次架构风格中分层的各个层次的作用。

在这里插入图片描述

  • 表现层:由于用户进行交互,比如MVC,MVP,MVVM其实都是与用户页面打交道的一层
  • 中间层:比如我们的接口层或者业务逻辑层,一般主要用于处理业务逻辑,比如我们的service层
  • 数据访问层:ORM(对象关系映射),比如说平常的hibernate或mybatis.就是把一个个对象和关系表的数据通过映射关系绑定起来,让我们把数据库操作映射到这个对象的操作上来。。
  • 数据架构层(其实就是数据库)

1、MVC架构风格

MVC分别是什么?

  • Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
  • View(视图):是应用程序中 处理数据显示的部分,通常视图是依据模型数据创建的。
  • Controller(控制器):是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/68353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据平台数据安全具体措施有哪些?有推荐的吗?

大数据平台是企业处理和分析数据的重要工具之一,也是企业数据存储的重要载体,因此保障大数据平台安全至关重要。那你知道大数据平台数据安全具体措施有哪些?有推荐的吗? 大数据平台数据安全具体措施有哪些? 1、数据…

伦敦金投资中挂单的优势

在伦敦金交易中,其实挂单具有无可比拟的优势?首先,如果我们不是全职的投资者,我们在交易时间内可能有其他的工作,那么挂单就可以帮助我们捕捉到市场的机会,即便我们不一定会坐在电脑面前,也可以…

Flutter 完美的验证码输入框 转载

刚开始看到这个功能的时候一定觉得so easy,开始的时候我也是这么觉得的,这还不简单,然而真正写的时候才发现并没有想象的那么简单。 先上图,不上图你们都不想看,我难啊,到Github: https://gith…

C语言:选择+编程(每日一练Day15)

目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:寻找奇数 思路一: 题二:寻找峰值 思路一: 本人实力有限可能对一些地方解…

java八股文面试[数据库]——B树和B+树的区别

B树是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(logn)的时间复杂度进行查找、顺序读取、插入和删除等操作。 1、B树的特性 B树中允许一个结点中包含多个key,可以是3个、4个、5个甚至更多,并不确定,需要看具体的实…

svn checkout 报 ‘svn: E000061: 执行上下文错误: Connection refused‘

问题 svn: E170013svn: E000061 ➜ svn svn checkout https://xxx.xxx.xxx.xxx:9443/svn/project-xxx/ svn: E170013: Unable to connect to a repository at URL https://xxx.xxx.xxx.xxx:9443/svn/project-xxx svn: E000061: 执行上下文错误: Connection refused链接在浏览…

详细说明OSPF常见的LSA

目录 1类LSA (Router LSA)介绍 总结:1类LSA 2类LSA (Network LSA)介绍 总结:2类LSA 3类LSA (Summary LSA)介绍 总结:3类LSA 5类LSA (ase LSA&…

ARP欺骗

ARP欺骗定义 ARP欺骗(英语:ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术&#x…

索引简单概述(SQL)

一、什么是索引? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),他们包含着对数据表里所有记录的引用指针。 索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构&#xff0…

OceanBase 里的 schema 是什么?

李博洋 OceanBase 技术部研发工程师。 OceanBase 开源社区里经常会看到一些类似于 “ schema 是什么” 的疑问: 很多同学经常会误以为在 OceanBase 里,schema 只是 database 的同义词,这次分享就从 schema 是什么这个问题稍微展开聊一下。 首…

3月面试华为被刷,准备半年,9月二战华为终于上岸,要个27K不过分吧?

终于二战上岸了,二战华为也并不是说非华为不可,只是觉得心里憋着一口气,这就导致我当时有其他比较好的offer,我也没有去,就是想上岸华为来证明自己,现在也算是如愿了,来跟大伙们分享一下~ 个人情况 我本人…

【STM32】IIC使用中DMA传输时 发送数据总少一个的问题

问题描述 在使用STM32 I2C数据发送过程中,发现每轮实际发送出去的数据总比在DMA配置中设定的传输数据个数要少一个。比方说:DMA配置里设定的传输数据个数是10个,结果发现在总线上只能发出9个,经过进一步发现是少了最后一个数据。…

使用正则表达式在中英文之间添加空格

有时为了排版需要,我们可能需要在文章的中英文之间添加空格,特别是中文中引用了英文单词时,这种情况使用正则表达式整体修订是最明智的做法。首先,推荐使用在线的正则表格式工具:https://regex101.com/ , 该工具非常强…

C++11

全文目录 {}列表初始化initializer_list 声明autodecltype nullptrSTL中一些变化右值引用左值引用和右值引用的区别左值引用与右值引用比较移动构造和移动赋值模板的万能引用和完美转发 类的新功能新的类的成员函数强制生成和删除默认成员函数 可变参数模板emplace 和 insert l…

【pytest】tep环境变量、fixtures、用例三者之间的关系

tep是一款测试工具,在pytest测试框架基础上集成了第三方包,提供项目脚手架,帮助以写Python代码方式,快速实现自动化项目落地。 在tep项目中,自动化测试用例都是放到tests目录下的,每个.py文件相互独立&…

在VSCode上画UML的三个插件

2023年9月2日,周六晚上 因为写代理模式的博客时需要画UML,所以就在网上找了半天, 最后觉得VSCode上的这三个插件比较好用 目录 三个画UML的VSCode插件PlantUMLDraw.io IntegrationUMLet我个人推荐使用PlantUML 三个画UML的VSCode插件 Pla…

blender基本操作

文章目录 引言一、选择二、移动1. xyz轴移动2. xyz平面移动3. 精确移动4. 快捷键移动G 三、旋转四、缩放五、变换1. 变换坐标系2. 变换轴心: 六、吸附七、模式切换八、物体的合并和分离1. 合并2.分离 九、设置父子级关系十、叠加层和快速收藏夹1. 叠加层2. 快速收藏…

配电室电力智能运维云平台

目前电力运维面临的问题和困扰: 配电室安全稳定运行、电能使用高效节能是每个企业关注的问题,然而,由于供用电系统的运行维护又是一项复杂而且专业性很强的工程,如果没有先进的技术手段,靠人工值班、人工操作的运行方…

day30 日期转换

一:Date Date类: 这个类是java.util.Date getTime() : 获取内部维护的long值 Date date new Date(); long time date.getTime(); setTime():按照指定的long值(表示的时间)设置Date表示的时间 time 60*60*24*1000;…

【力扣每日一题】2023.9.4 序列化和反序列化二叉搜索树

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一棵搜索二叉树,要我们将这棵二叉树转变为字符串,同时我们需要根据字符串再变回二叉树,具体…