当前位置: 首页 > 图灵资讯 > 技术篇> 深入MVC模式和三层架构

深入MVC模式和三层架构

来源:图灵教育
时间:2023-05-15 09:32:07

MVC模式

MVC 它是一种分层开发模式,其中:

  • M:Model,业务模型,业务处理
  • V:View,视图,界面显示
  • C:Controller,控制器,处理请求,调用模型和视图

深入MVC模式和三层架构_业务逻辑

控制器(serlvlet)控制器调用模型接收浏览器发送的请求(JavaBean)从数据库中获取数据,如查询数据;控制器获取数据,然后交给视图(JSP)数据显示。

MVC 好处:

  • 责任单一,互不影响。每个角色都做自己的事,履行自己的职责。
  • 有利于分工合作。
  • 有利于组件的重用
三层架构

三层结构将我们的项目分为三个层次,即 表现层业务逻辑层数据访问层

深入MVC模式和三层架构_三层架构_02

  • 数据访问层:CRUD基本操作数据库
  • 业务逻辑层:包装业务逻辑,结合数据访问层的基本功能,形成复杂的业务逻辑功能。例如 注册业务功能 ,我们会先调用 数据访问层selectByName() 判断用户名是否存在的方法,如果没有再次调用 数据访问层insert() 添加数据的方法
  • 性能层:接收请求、包装数据、调用业务逻辑层、响应数据

整个过程是浏览器发送请求、表达层Servlet接收请求并调用业务逻辑层进行业务逻辑处理,而业务逻辑层调用数据访问层进行数据操作,依次返回Servet,然后Servlet将数据移交给 JSP 进行展示。

三层架构的每一层都有独特的包名:

  • 表现层: com.xiaowei.controller 或者 com.xiaowei.web
  • 业务逻辑层:com.xiaowei.service
  • 数据访问层:com.xiaowei.dao 或者 com.xiaowei.mapper

在后期,我们还将学习一些框架。不同的框架包装不同层次的框架

深入MVC模式和三层架构_三层架构_03

MVC 和 三层架构的连接

通过 MVC 和 三层架构 有些人一定对学习感到困惑。他们之间的区别和联系是什么?

深入MVC模式和三层架构_三层架构_04

上图上半部分是 MVC 模式,上图下半部分为三层结构。 MVC 模式 中的 C(控制器)和 V(视图)就是 三层架构 中间的表现层,而 MVC 模式 中的 M(模型)就是 三层架构 中的 业务逻辑层 和 数据访问层。

可以将 MVC 模式 理解是一个大概念,但是 三层架构 是对 MVC 模式 实现架构思想。 然后,我们将根据要求在不同的包下编写不同层次的代码,每层的功能职责都是单一的。如果未来更换了性能层的技术,则不需要更改业务逻辑层和数据访问层的代码。