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

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

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


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

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

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

逻辑处理

接受请求和响应数据


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

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

个人理解:

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

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

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

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

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

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

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

小结:

  1. 为什么要对代码进行拆分?
    • 遵循单一职责原则,便于复用、后期维护
  2. 拆分为了哪三层?每一层的职责是什么 ?
    • controller :接受请求,响应数据
    • service :逻辑处理
    • dao :数据访问
相关推荐
清风絮柳3 小时前
51. “闲转易”交易平台小程序(基于springboot&vue)
vue.js·spring boot·小程序·毕业设计·校园二手交易平台·二手交易小程序·闲转易交易系统
TheITSea4 小时前
后端开发 SpringBoot 工程模板
spring boot·后端
Micro麦可乐5 小时前
最新Spring Security实战教程(七)方法级安全控制@PreAuthorize注解的灵活运用
java·spring boot·后端·spring·intellij-idea·spring security
教练 我想学编程5 小时前
学习记录706@微信小程序+springboot项目 真机测试 WebSocket错误: {errMsg: Invalid HTTP status.}连接不上
spring boot·学习·微信小程序
_Djhhh6 小时前
基于SpringAOP面向切面编程的一些实践(日志记录、权限控制、统一异常处理)
java·spring boot·spring·maven·sprint
小杨4047 小时前
springboot框架项目实践应用十四(扩展sentinel错误提示)
spring boot·后端·spring cloud
冬天豆腐9 小时前
Springboot集成Dubbo和Zookeeper框架搭建
spring boot·dubbo·java-zookeeper
风象南9 小时前
Spring Boot 实现文件秒传功能
java·spring boot·后端
橘猫云计算机设计9 小时前
基于django优秀少儿图书推荐网(源码+lw+部署文档+讲解),源码可白嫖!
java·spring boot·后端·python·小程序·django·毕业设计
黑猫Teng9 小时前
Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南
java·spring boot·后端