架构的本质之 MVC 架构

前言

程序员习惯的编程方式就是三步曲。

所以,为了不至于让一个类撑到爆💥,需要把黄色的对象、绿色的方法、红色的接口,都分配到不同的包结构下。这就是你编码人生中所接触到的第一个解耦操作。
分层框架

MVC 是一种非常常见且常用的分层架构,主要包括;M - mode 对象层,封装到 domain 里。V - view 展示层,但因为目前都是前后端分离的项目,几乎不会在后端项目里写 JSP 文件了。C - Controller 控制层,对外提供接口实现类。DAO 算是单独拿出来用户处理数据库操作的层。

在 MVC 的分层架构下。我们编程3步的所需各类对象、方法、接口,都分配到 MVC 的各个层次中去。

对于一个真正的项目来说,是没有一锤子买卖的,最开始的开发远不是成本所在。最大的开发成本是后期的维护和迭代。而架构设计的意义更多的就是在解决系统的反复的维护和迭代时,如何降低成本,这也是架构分层的意义所在。
调用流程

MVC 架构中各个模块在调用时的串联关系 如下图。

1:用户发起 HTTP 请求开始,Controller 在接收到请求后,调用由 Spring 注入到类里的 Service 方法,进入 Service 方法后有些逻辑会走数据库,有些逻辑是直接内部自己处理后就直接返回给 Controller 了。最后由 Controller 封装结果返回给 HTTP 响应。

2:同时我们也可以看到各个对象在这些请求间的一个作用,如;请求对象、库表对象、返回对象。
如下得项目结构目录

A:Application.java 是启动程序的 SpringBoot 应用

B:common 是额外添加的一个层,用于定义通用的类

C:controller 控制层,提供接口实现。

D:dao 数据库操作层

E:domain 对象定义层

F:service 服务实现层
运行项目

打开测试类

好了到这里就结束了架构的本质之 MVC 架构的学习,大家一定要跟着动手操作起来。需要源码的 可si我获取 点点关注不迷路

相关推荐
YangWeiminPHD2 分钟前
金水明32051指令集架构
架构·51单片机·指令集
云边有个稻草人17 分钟前
全场景高可用护航核心业务 ——KingbaseES 高可用架构深度解析
架构·kingbasees·金仓数据库·国产数据库高可用·企业级数据库架构·数据库容灾备份·数据库 maa 架构
番茄去哪了31 分钟前
单体转微服务:正确的拆分思路与实战原则(下)
微服务·云原生·架构
搬砖的小码农_Sky36 分钟前
比特币区块链的算法架构
算法·架构·去中心化·区块链
LienJack1 小时前
AI 架构设计有点菜,我写了个 Skill 给它补课
人工智能·架构
舒一笑11 小时前
用几十行代码搞定 Chat 接口透明转发:跨环境轻量级网关实战
后端·程序员·架构
狼爷12 小时前
短视频播放量(Views)计数系统实现方案:高并发、不丢数的工业级实践
后端·架构
Dabei16 小时前
Android 副屏(Virtual Display)创建与悬浮窗画中画显示实战
前端·架构
程序员老邢16 小时前
【产品底稿 12】工程架构最终定型:完整模块拆分、分包规范、层级依赖与开发规约全清单
微服务·架构·springboot·多模块·技术债务
万事大吉CC17 小时前
【1】Django 基础:MTV 架构与核心组件
数据库·架构·django