当前位置: 首页 > article >正文

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

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

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


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

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

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

                                               逻辑处理

                                               接受请求和响应数据


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

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

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

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

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

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

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

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

 三层架构内部调用的细节:

 拆分前后对比: 

 


 

小结:

1. 为什么要对代码进行拆分?
遵循单一职责原则,便于复用、后期维护
2. 拆分为了哪三层?每一层的职责是什么 ?
controller :接受请求,响应数据
service :逻辑处理
dao :数据访问

 


http://www.kler.cn/a/502997.html

相关文章:

  • 数据仓库: 10- 新技术与趋势
  • day38 tcp 并发 ,linux下的IO模型----IO多路复用
  • linux的大内核锁与顺序锁
  • TaskBuilder前端页面CSS样式规则设置
  • python学opencv|读取图像(二十九)使用cv2.getRotationMatrix2D()函数旋转缩放图像
  • paddle——站在巨人肩膀上及背刺二三事
  • 如何用 SSH 访问 QNX 虚拟机
  • 如何用bigemap pro裁剪矢量数据?
  • 【MySQL】基础架构分析
  • 模板方法模式详解
  • Java 泛型的用法
  • 【STM32-学习笔记-6-】DMA
  • ASP.NET Core - 日志记录系统(二)
  • 零基础 监控数据可视化 Spring Boot 2.x(Actuator + Prometheus + Grafana手把手) (上)
  • Spring Boot 应用开发入门
  • 【fly-iot飞凡物联】(19):开源飞凡物联项目重启,使用go重写后端代码,感兴趣的小伙伴可以一起参加,使用apache协议开源,招募感兴趣的小伙伴!!
  • 虚拟拨号技术(GOIP|VOIP)【基于IP的语音传输转换给不法分子的境外来电披上一层外衣】: Voice over Internet Protocol
  • git——merge和rebase
  • 探索网络安全:浅析文件上传漏洞
  • Mysql--运维篇--备份和恢复(逻辑备份,mysqldump,物理备份,热备份,温备份,冷备份,二进制文件备份和恢复等)