一文看懂MVC模式、Spring MVC框架和三层架构之间的区别和联系

MVC模式

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

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

      最典型的MVC就是JSP + servlet + javabean的模式,这里使用此模式来说明,控制器(servlet)用来接收浏览器发送过来的请求,控制器调用模型(JavaBean)来获取数据,比如从数据库查询数据;控制器获取到数据后再交由视图(JSP)进行数据展示。

MVC 好处:

  • 职责单一,互不影响。每个角色做它自己的事,各司其职。
  • 有利于分工协作。
  • 有利于组件重用

Spring MVC框架

  首先说下Spring框架,spring是一个轻量级开源的JAVA EE框架,是针对bean的生命周期进行管理的一个轻量级容器。
  Spring MVC框架是一个基于Spring框架且实现了MVC模式的Java Web的框架,这里要注意,Spring MVC和Spring一样,是一个框架,也有很多人将Spring MVC视为Spring的一部分。

三层架构

三层架构是将我们的项目分成了三个层面,分别是 表现层 、 业务逻辑层 、 数据访问层。
在这里插入图片描述

  • 数据访问层:对数据库的CRUD基本操作
  • 业务逻辑层:对业务逻辑进行封装,组合数据访问层层中基本功能,形成复杂的业务逻辑功能。
  • 表现层:接收请求,封装数据,调用业务逻辑层,响应数据

三者区别

  首先MVC是一种软件设计模式,Spring MVC是一种框架,三层架构是一种软件架构方式。
  在软件工程里,框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。

三者联系

  首先说MVC和Spring MVC之间的关系,Spring MVC是对于MVC设计模式的一种实现,这种实现是基于Spring的。
  接下来说MVC和三层架构之间的关系:
在这里插入图片描述
  如上图上半部分是 MVC 模式,上图下半部分是三层架构。 MVC 模式 中的 C(控制器)和 V(视图)就是 三层架构 中的表现层,而 MVC 模式中的 M(模型)就是 三层架构 中的 业务逻辑层和数据访问层。
  再看下Spring MVC和三层架构之间的关系:
在这里插入图片描述
  尽管MVC模式中的M包括了三层架构的业务逻辑和数据访问层,但是Spring MVC里边的M却不能这样理解。
  Spring MVC一般视为表现层的框架技术,因为Spring MVC的使用了Spring框架,Spring框架的核心思想是控制反转,在三层架构每一层里边都可能会用到控制反转,这里的Spring MVC仅仅在表现层发挥了控制反转的功能,因此开发项目时,项目通常有两个IOC容器,也就是Spring容器和Spring MVC容器。
  Spring框架负责除了表现层之外的bean的控制,在数据访问层往往使用MyBatis,因此就诞生了大名鼎鼎的SSM(Spring+SpringMVC+MyBatis)框架。

结语

  模式,框架,架构这些名词我们常听,也常说,但是很多使用是错误的,这三者有交集,也有差异,对于理论的学习虽然不能直接表现在技术上面,但其影响是潜移默化的。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值