系统架构
一、系统框架
系统架构:是指,整合应用系统程序大的结构。
经常提到的系统结构有两种:三层架构 与 MVC。 这两种结构既有区别,又有联系。
但这两种结构的使用,均是为了降低系统模块间的耦合度。
1.1 三层架构
三层架构是指:视图层 View、服务层 Service,与持久层 Dao。它们分别完成不同的功能:
View 层: 用于接收用户提交请求的代码在这里编写。
Service 层: 系统的业务逻辑主要在这里完成。(完成某些功能)
Dao 层: 直接操作数据库的代码在这里编写。
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程:
即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。
注意: 上层 和 下层 是一个相对的概念。
Service层 ------> Dao层 : Service层调用 Dao层 时,Service层是 上层(客户层),Dao层 是下层(服务层)。
View 层 -------> Service层 :View层 调用 Service层 时,View层是 上层(客户层), Service层 是下层(服务层)。
1.2 MVC 架构
MVC,即 Model 模型、View 视图,及 Controller 控制器。
View: 视图,为用户提供使用界面,与用户直接进行交互。
Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载 Bean,一类称为业务处理 Bean。
-所谓数据承载 Bean 是指实体类,专门用户承载业务数据的,如 Student、User 等。
-而业务处理 Bean 则是指 Service 或 Dao 对象,专门用于处理用户提交请求的。
Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
MVC 架构程序的工作流程是这样的:
(1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
(2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理
(注意: Controller对请求进行解析,Servlet本身不具有任何处理的功能。根据配置文件的中虚拟路径,交由对应的Model对请求进行处理)
(3)Model 处理后,将处理结果再交给 Controller
(4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。
1.3 MVC与三层架构的关系
1.4 SSM 与 三层架构的关系
SSM,即 SpringMVC、Spring 与 MyBatis 三个框架。它们在三层架构中所处的位置是不同的,即它们在三层架构中的功能各不相同,各司其职。
SpringMVC:作为 View 层的实现者,完成用户的请求接收功能。SpringMVC 的 Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。
MyBatis :作为 Dao 层的实现者,完成对数据库的增、删、改、查功能。
Spring :以整个应用大管家的身份出现。整个应用中所有 Bean 的生命周期行为,均由Spring 来管理。
-即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由 Spring 进行管理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)