架构设计笔记-13-层次式架构设计理论与实践

news2024/10/21 15:37:49

目录

知识要点

综合知识

案例分析

1.SSM框架

2.MVC模式,XML

3.MVC架构脆弱性

4.容器技术的优势

5.对象关系映射ORM技术


知识要点

一般来说,架构可以分为表现层、中间层和持久层三个层次。

  1. 表现层:表现层主要负责接收用户的请求,对用户的输入、输出进行检查与控制,处理客户端的一些动作,包括控制页面跳转等,并向用户呈现最终的结果信息。表现层主要采用 MVC 结构来实现。控制器负责接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请求调用中间层进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
  2. 中间层:中间层主要包括业务逻辑层组件、业务逻辑层工作流、业务逻辑层实体和业务逻辑层框架四个方面。 - 业务逻辑层组件分为接口和实现类两个部分,接口用于定义业务逻辑组件,定义业务逻辑组件必须实现的方法。通常按模块来设计业务逻辑组件,每个模块设计为一个业务逻辑组件,并且每个业务逻辑组件以多个 DAO 组件作为基础,从而实现对外提供系统的业务逻辑服务。 - 业务逻辑层工作流能够实现在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促进此目标的实现。 - 业务逻辑层实体提供对业务数据及相关功能的状态编程访问,业务逻辑层实体数据可以使用具有复杂架构的数据来构建,这种数据通常来自数据库中的多个相关表。业务逻辑层实体数据可以作为业务过程的部分 I/O 参数传递,业务逻辑层的实体是可序列化的,以保持它们的当前状态。 - 业务逻辑层是实现系统功能的核心组件,采用容器的形式,便于系统功能的开发、代码重用和管理。
  3. 持久层:持久层主要负责数据的持久化存储,主要负责将业务数据存储在文件、数据库等持久化存储介质中。持久层的主要功能是为业务逻辑提供透明的数据访问、持久化、加载等能力。

边缘计算的业务本质是云计算在数据中心之外汇聚节点的延伸和演进,主要包括云边缘、边缘云和云化网关三类落地形态。 

常用的数据访问模式在线访问模式、Data Access Object 模式、Data Transfer Object 模式、离线数据模式和对象/关系映射(Object/Relation Mapping)模式是数据持久层(数据访问层)架构设计中常用的数据访问模式。

  • 在线访问的模式:查询返回的数据量并不是很大,同时也不频繁;
  • 在线访问模式和离线模式相结合:返回的数据量较大,且较为频繁,可通过离线数据的缓存来提高查询的性能;
  • 离线数据访问的模式:批量修改将更新信息返回至数据库。此类数据应用的特点表现为:与数据库交互的次数并不频繁,但是每次的数据量相对较大;同时,也希望能够使得本地操作有较好的交互体验。针对这种情况,往往适合采用离线数据访问的模式,DTO 模式也是不错的选择。

综合知识

案例分析

1.SSM框架

2.MVC模式,XML

3.MVC架构脆弱性

4.容器技术的优势

5.对象关系映射ORM技术

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

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

相关文章

【论文翻译】TITAN:用于交通流量预测的异构专家混合模型

题目A TIME SERIES IS WORTH FIVE EXPERTS: HETEROGENEOUS MIXTURE OF EXPERTS FOR TRAFFIC FLOW PREDICTION论文链接https://arxiv.org/pdf/2409.17440源码地址https://github.com/sqlcow/TITAN(作者说论文被接受后,代码将更新) 摘要 准确的…

API项目4:开发SDK

面临另一个问题 作为开发者,每次调用接口都需要自己生成时间戳,编写签名算法,生成随机数等等,这些都是相当繁琐的工作。 因此,要想办法让开发者能够以最简单的方式调用接口。开发者只需要关心传递哪些参数以及他们的…

如何通过计算巢在阿里云一键部署FlowiseAI

什么是FlowiseAI FlowiseAI 是一个开源的低代码开发工具,专为开发者构建定制的语言学习模型(LLM)应用而设计。 通过其拖放式界面,用户可以轻松创建和管理AI驱动的交互式应用,如聊天机器人和数据分析工具。 它基于Lang…

网站分享 | 六个插件搜索下载网站

网站分享: 今天分享几个搜索插件的网站。 🔧 Chrome Web Store —— 官方插件库,选择最多 谷歌官方的 Chrome 插件商店,拥有丰富的插件供你选择。无论你是办公党、学生党,还是娱乐爱好者,这里都能找到提…

第 4 章:Vue 中的 ajax

1. 解决开发环境 Ajax 跨域问题 vue脚手架配置代理 原理图: 1.1 方法一 在vue.config.js中添加如下配置: devServer:{proxy:"http://localhost:5000" // 这个5000 是请求目标的端口号 }说明: 优点:配置简单&…

杰理AC632N---发射功率问题

AC632N的发射功率SDK默认0dbm左右,在实际做产品时,如果使用SDK默认的发射功率,则测试到的发射功率达不到规格书上面的8dbm. 查看代码流程发现SDK中修改发射功率的文职如下: 修改到level 10 则是最大功率8dbm , 使用频谱仪可以测得…

OpenAI 最新发布的 o1 模型在 ARC-AGI-Pub 数据集上的测试结果与分析

在过去的24小时内,我们有幸获得了 OpenAI 新发布的 o1-preview 和 o1-mini 模型的使用权限。这些模型经过特别训练,旨在模拟推理过程,并在给出最终答案之前给予更多时间生成和修正推理步骤。 成百上千的人都在问,o1 在 ARC 奖项上…

linux线程 | 线程的控制(一)

前言:本节内容为线程的控制。在本篇文章中, 博主不仅将会带友友们认识接口, 使用接口。 而且也会剖析底层,带领友友们理解线程的底层原理。 相信友友们学完本节内容, 一定会对线程的控制有一个很好的把握。 那么&#…

Gin框架官方文档详解03:HTML渲染

官方文档:https://gin-gonic.com/zh-cn/docs/ 注:强烈建议没用过Gin的读者先阅读第一节:第一个Gin应用。 目录 一、简单渲染二、使用不同目录下名称相同的模板三、自定义模板渲染器四、自定义分隔符五、自定义模板函数六、总结 一、简单渲染 …

数通--5

一、链路聚合 背景:带宽不够,加线,但是stp判断是环路,阻塞,等于没加线。通过链路聚合解决(如果我把千兆换成万兆,老子有钱任性的话,没得说) 现在我要的不是备份而是带宽…

电能表预付费系统-标准传输规范(STS)(4)

5.4 TokenCarrier 到 MeterApplicationProcess 的数据流 The flow of data from the TokenCarrier to the MeterApplicationProcess is shown in Figure 4.此数据流见图 4。 图 4 TokenCarrier 到 MeterApplicationProcess 的数据 The token entry process from the TokenCarr…

抢单超卖? 并发问题解决思路

1. 问题介绍 在用户抢单或者商品售卖的过程中,正常情况下是一人一件,但是当网络流量剧增时多个用户同时抢到一个商品应该如何分配?假设这样一个场景A商品库存是100个,但是秒杀的过程中,一共卖出去500个A商品。对于卖家…

AXI GPIO按键控制——ZYNQ学习笔记4

一、AXI GPIO接口简介 是什么?是PL部分的一个IP软核,实现通用输入输出接口的功能,并通过AXI协议实现与处理系统通信,方便控制与拓展GPIO接口。 AXI GPIO IP 核为 AXI 接口提供了一个通用的输入/输出接口。 与 PS 端的 GPIO 不同&…

【YOLO系列】YOLO11原理和深入解析——待完善

文章目录 前言一、主要新增特性二、主要改进2.1 C3K2网络结构2.2 C2PSA网络结构2.3 Head部分 三、对比与性能优势四、X-AnyLabeling4.1 目标检测:4.2 实例分割:4.3 图像分类:4.4 姿态估计:4.5 旋转目标检测: 五、总结 …

Vue+Vant实现7天日历展示,并在切换日期时实时变换

效果图&#xff1a; 主要使用 moment.js 插件完成 HTML部分 <div class"day-content"><div class"day-content-t"><div>{{ monthVal }}</div><div click"onCalendar()">更多>></div></div><…

HTTP vs WebSocket

本文将对比介绍HTTP 和 WebSocket &#xff01; 相关文章&#xff1a; 1.HTTP 详解 2.WebSocket 详解 一、HTTP&#xff1a;请求/响应的主流协议 HTTP&#xff08;超文本传输协议&#xff09;是用于发送和接收网页数据的标准协议。它最早于1991年由Tim Berners-Lee提出来&…

【C++】二叉搜索树的概念与实现

目录 二叉搜索树 概念 key类型 概念 代码实现 key_value类型 概念 代码实现 二叉搜索树 概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它或者是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树: 左子树的值默认小于根节点&#xff0c;右子树的值默认大于根节点 。 ⼆…

具备技术三:通用类型any实现

一、背景 一个连接必须拥有请求接收与解析的上下文。 上下文的结构不能固定&#xff0c;因为服务器支持的协议很多&#xff0c;不同协议有不同的上下文结构&#xff0c;所以必须拥有一个容器保存不同的类型结构数据。 二、设计思路 目标&#xff1a;一个容器保存各种不同数…

opencv学习:CascadeClassifier和detectMultiScale算法进行人脸识别

CascadeClassifier CascadeClassifier 是 OpenCV 提供的一个用于对象检测的类&#xff0c;它基于Haar特征和AdaBoost算法。它能够识别图像中的特定对象&#xff0c;比如人脸、眼睛、微笑等。CascadeClassifier 需要一个预训练的XML分类器文件&#xff0c;该文件包含了用于检测…

SHA1算法学习

SHA-1&#xff08;安全哈希算法1&#xff09;是一种加密哈希函数&#xff0c;它接受一个输入并生成一个160位&#xff08;20字节&#xff09;的哈希值&#xff0c;通常表示为一个40位的十六进制数。 SHA1的特点 输入与输出&#xff1a;SHA-1可以接受几乎任意大小的输入&#…