Web基础-分层解耦-三层架构

1.Q:为什么要分层解耦?

如果把所有的业务逻辑都写在一个代码段里,会导致代码复用性差且难以维护。


2:分层解耦要满足什么原则以及每一层要完成什么功能?

单一职责原则:每一模块的代码只负责自己模块的功能。

每一层要各自要完成的功能:数据访问

逻辑处理

接受请求和响应数据


3.分为哪几层?每一层什么功能?

controller : 控制层 ,++接收前端发送的++ ++请求++ ++,对请求进行处理,并++ ++响应++ ++数据。++
service : 业务逻辑层 ,++处理具体的业务逻辑。++
dao : 数据访问层 (Data Access Object) (持久层) ,++负责数据访问操作,包括数据的增、删、改、查。++

个人理解:

从左至右是web服务器接受请求的过程

从右至左是web服务器给浏览器响应数据的过程

浏览器-----》三层架构----》数据库

(例如:浏览器将前端接收到的数据返回给后端处理后并存入数据库)

浏览器《-------三层架构《-----数据库

(例如:数据库将数据交给后端处理后返回给前端进行页面渲染)

三层架构内部调用的细节:
拆分前后对比:

小结:

  1. 为什么要对代码进行拆分?
    • 遵循单一职责原则,便于复用、后期维护
  2. 拆分为了哪三层?每一层的职责是什么 ?
    • controller :接受请求,响应数据
    • service :逻辑处理
    • dao :数据访问
相关推荐
是梦终空2 分钟前
计算机毕业设计264—基于Springboot+Vue3+协同过滤的房屋租赁管理系统(源代码+数据库+万字论文+设计文档)
spring boot·毕业设计·vue3·课程设计·毕业论文·协同过滤·房屋租赁管理系统
qq_2975746713 分钟前
【实战】POI 实现 Excel 多级表头导出(含合并单元格完整方案)
java·spring boot·后端·excel
风流倜傥唐伯虎9 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
fuquxiaoguang10 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析
毕设源码_廖学姐11 小时前
计算机毕业设计springboot招聘系统网站 基于SpringBoot的在线人才对接平台 SpringBoot驱动的智能求职与招聘服务网
spring boot·后端·课程设计
顾北1211 小时前
MCP服务端开发:图片搜索助力旅游计划
java·spring boot·dubbo
昀贝11 小时前
IDEA启动SpringBoot项目时报错:命令行过长
java·spring boot·intellij-idea
indexsunny12 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
Coder_Boy_13 小时前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)
java·spring boot·分布式·ddd
韩立学长15 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游