三层架构和MVC以及它们的融合

前缀知识点:

Servlet是什么?

Dao层是什么?

三层架构是什么:

1.三层架构含义:

三层架构就是为了符合"高内聚,低耦合"思想,把各个功能模块划分为UI(表现层)、BLL:(业务逻辑层)、DAL:(数据访问层)三层架构。额外的还有一层实体类(Model),作为数据传递的载体,在各层之间传递数据。

UI(视图层)/(表现层)

主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。

BLL:(业务逻辑层)

UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。

DAL:(数据访问层)/(持久层)

与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)

这三层之间的数据传递(单向)是靠变量或实体作为参数来传递的,

MVC的应用:

MVC是Model(模型)+view(视图层)+controller(控制器)这三者的缩写。

  • 模型(Model):表示应用程序的数据和业务逻辑。模型负责从数据源(如数据库)获取数据、处理数据,并且在数据发生变化时通知视图更新。
  • 视图(View):表示用户界面,负责显示数据(通常来自模型)给用户,并接收用户的输入。视图与用户交互,但它不处理业务逻辑。
  • 控制器(Controller):是模型和视图之间的中介,接收用户输入(如按钮点击或表单提交),并更新模型或视图。控制器处理用户的请求并决定模型如何更新以及如何展示给视图

MVC强制性地使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

执行流程为由终端的客户端进行操作,控制器基于用户的操作将请求传达给M层,M层接收到请求去执行关于数据库的动作,从而调用数据库的数据展示到V层,也就是前端的页面展示出来。

C层:(Controller包)里面都是Servlet

接收前端的指令传达到M层(Dao包)执行,然后接收到执行的结果,把数据传回前端

M层:(Dao包)

M层接收C层的指令,去执行关于数据库操作的指令,然后再传回C层

**V层(**前端的):把数据展示给用户的页面,把用户的指令转达给C层(Servlet),再展示受到C层传来的数据

三层架构和MVC结合:

三层架构和MVC融合:

从MVC的角度来说:

由servlet控制service和dao,service和dao就相当于是模型

servlet是控制器

前端JSP是视图

从三层架构的角度来说:

视图层:前端

逻辑层:service

持久层:dao

相关推荐
卷无止境12 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
狼爷12 小时前
从零用 Java 构建 AI Agent 框架:JavaManus 设计与实现深度解析
后端·langchain·aigc
郑州光合科技余经理12 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
专业程序开发源13 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
专业程序开发源13 小时前
springboot社区养老系统44071-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
小呆呆66613 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
周杰伦fans13 小时前
8GB显存下模型量化实战指南
人工智能·后端·c#
小蒜学长14 小时前
基于SpringBoot的佳新超市管理系统设计与实现系统(代码+数据库+LW)
java·数据库·spring boot·后端·佳新超市管理系统
IT_陈寒15 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
打工仔折腾 AI15 小时前
把AI Agent托管在家用电脑:UU远程终端与端口映射实测记录
人工智能·后端·python·langchain·ai agent 实战