【JavaEE】_MVC架构与三层架构
目录
1. MVC架构
2. 三层架构
3. MVC架构与三层架构的对比
3.1 MVC与三层架构的对比
3.2 MVC与三层架构的共性
1. MVC架构
在前文已介绍关于SpringMAC的设计模式,详见下文:
【JavaEE】_Spring Web MVC简介-CSDN博客文章浏览阅读967次,点赞8次,收藏21次。官网对于Spring Web MVC的介绍如下:链接如下:即Spring Web MVC是基于Servlet API构建的原始的Web框架,它从一开始就包含在Spring框架中,通常被称为Spring MVC;Spring Boot 只是一种创建Spring MVC项目的一种方式而已,帮助我们快速搭建项目,Spring Web MVC是其中的一个模块;总而言之,Spring Web MVC就是Spring MVC, 是一个Web框架;https://blog.csdn.net/m0_63299495/article/details/136397828https://blog.csdn.net/m0_63299495/article/details/136397828https://blog.csdn.net/m0_63299495/article/details/136397828https://blog.csdn.net/m0_63299495/article/details/136397828https://blog.csdn.net/m0_63299495/article/details/136397828https://blog.csdn.net/m0_63299495/article/details/136397828简而言之:
SpringMVC就是把整体的系统分成了 Model(模型)、View(视图)和Controller(控制器)三个层次:
也就是将用户视图和业务处理隔离开,并且通过控制器连接起来,实现了表现和逻辑的解耦,是⼀种标准的软件分层架构。
随着前后端分离,返回视图逐渐变更为返回前端所需数据;
但此种架构也存在一些问题,model工作量较大,且视图逐渐退出后端设计需要。
所以对于Java后端开发者, ⼜有了⼀种新的分层架构:
把整体架构分为表现层、业务逻辑层和数据层。这种分层方式也称为"三层架构"。
2. 三层架构
“ 三层架构 ” 把整体架构分为表现层、业务逻辑层和数据层:
1、表现层:展示数据结构、接收用户指令(最靠近用户的一层);
2、业务逻辑层:负责进行业务逻辑的具体处理与实现;
3、数据层:负责存储、管理与应用程序相关的数据;
3. MVC架构与三层架构的对比
3.1 MVC与三层架构的对比
三层架构中业务逻辑层与数据层实现的功能,对标MVC的model,
关于三层架构与MVC的对比如下:
二者并不对立。
MVC架构强调数据与视图分离,将数据展示和数据处理分开,通过控制器对二者进行结合;
三层架构强调对数据进行不同维度的处理,如表现层进行数据的校验与返回,业务逻辑层进行数据的处理,数据层进行数据的存储等等。
3.2 MVC与三层架构的共性
MVC架构与三层架构的目的是相同的,都是解耦+分层+代码复用;
在软件设计中,有一个原则:高内聚低耦合。
(1)高内聚:⼀个模块中各个元素之间的联系的紧密程度。
如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越⾼,即 "高内聚"。
(2)低耦合指的是:软件中各个层、模块之间的依赖关联程序越低越好。
修改⼀处代码, 其他模块的代码改动越少越好。