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

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

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


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

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

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

逻辑处理

接受请求和响应数据


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

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

个人理解:

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

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

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

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

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

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

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

小结:

  1. 为什么要对代码进行拆分?
    • 遵循单一职责原则,便于复用、后期维护
  2. 拆分为了哪三层?每一层的职责是什么 ?
    • controller :接受请求,响应数据
    • service :逻辑处理
    • dao :数据访问
相关推荐
Mr.朱鹏21 小时前
JVM-GC垃圾回收案例
java·jvm·spring boot·算法·spring·spring cloud·java-ee
智能工业品检测-奇妙智能1 天前
AIFlowy如何实现与现有Spring Boot项目的无缝集成?
java·spring boot·后端
一知半解仙1 天前
从“玩具项目“到“生产级架构“:Spring Boot + Spring Cloud + AI 微服务实战避坑指南
spring boot·spring cloud·架构
毕设源码-朱学姐1 天前
【开题答辩全过程】以 基于springBoot微服务架构的老年人社交系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
Mr.朱鹏1 天前
分布式-redis主从复制架构
java·spring boot·redis·分布式·缓存·架构·java-ee
弹简特1 天前
【JavaEE15-后端部分】SpringBoot配置文件的介绍
java·spring boot·后端
弹简特1 天前
【JavaEE16-后端部分】SpringBoot日志的介绍
java·spring boot·后端
Chan161 天前
从生产到消费:Kafka 核心原理与实战指南
java·spring boot·分布式·spring·java-ee·kafka·消息队列
HDXxiazai1 天前
idea JDK17 spring boot+nacos搭建 图文教程
java·spring boot·spring cloud·intellij-idea
刘 大 望1 天前
使用AI IDE从0到1开发五子棋对战项目(vibe coding)
java·人工智能·spring boot·redis·ai·java-rabbitmq·ai编程