杨老师课堂之JavaWeb体系的MVC与三层架构有什么区别

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/81024892 首先,声明一下,三层是三层,MVC是MVC,这俩是毫无关系的。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/81024892

首先,声明一下,三层是三层,MVC是MVC,这俩是毫无关系的。

三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。

三层架构通常包括表示层,业务逻辑层以及数据访问层。虽然三层架构将系统在逻辑上分成了三层,但是它并不是物理上的分层。也就是说,对不同层的代码而言,经历编译、打包、部署后,所有的代码最终还是运行在同一个进程中。
MVC是一种设计模式,一种思想,是存在于应用程序(B/S结构:又称之浏览器/服务器)的视图层划分出来的不同功能的几个模块。

MVC主要是为了解决应用程序用户界面的样式替换问题,把展示数据的 HTML 页面尽可能的和业务代码分离。MVC把纯净的界面展示逻辑(用户界面)独立到一些文件中(Views),把一些和用户交互的程序逻辑(Controller)单独放在一些文件中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象,这些对象,统称为Models。

只所以说MVC和三层毫无关系,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决BS应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

对于,我们JAVA开发者来说:

三层架构是界面层(Web)业务逻辑层(Service)和数据访问层(Dao)构成的

MVC设计模式是模型层(Model)界面层(View)和控制层(Controller)构成的,而且他们之间也不对应。

总结:

​ ① 三层架构是Java体系独有的专有名词,MVC在其他语言中也是存在的设计模式。

​ ② 三层架构是采用分层思想,减轻类与类(接口)之间的耦合,通俗的说是为了减轻代码之间的依赖性,避免产生牵一发而动全身的后果。而MVC意在将后端代码和前台展示代码进行了分离。JavaBean既是一个封装的java对象,View是用来给前台客户端显示反馈的页面,采用Jsp来完成。而前台的代码与后端的逻辑代码之间的交互工作就交付给了Servlet。

​ 运作流程:Servlet接受到前台的传递的数据进行传递给业务逻辑层Service层,Service层处理完毕传递给数据库访问Dao,Dao通过Jdbc或者持久化将数据注入到数据库中去,继而反馈给Service层,Service层响应给Servlet,Servlet返回给Jsp页面。

如下图所示:

是不是顿时感到世界明朗了,对分层又深入了解了一步。

作者: 杨校

出处: https://blog.csdn.net/kese7952

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(397583050@qq.com)咨询。

目录
相关文章
|
3月前
|
设计模式 前端开发 数据库
从MVC到MVVC:软件架构的演变和迭代(二)
从MVC到MVVC:软件架构的演变和迭代
【各种问题处理】X86架构和ARM架构的区别
【1月更文挑战第13天】【各种问题处理】X86架构和ARM架构的区别
|
1月前
|
前端开发 数据安全/隐私保护
什么是mvvm,mvp、mvc和mvvm模式有什么区别?
什么是mvvm,mvp、mvc和mvvm模式有什么区别?
33 0
|
2月前
|
前端开发 Java fastjson
且谈软件架构(二) 模块化与MVC
且谈软件架构(二) 模块化与MVC
|
1月前
|
设计模式 前端开发 数据处理
MVC架构中,控制器和模型之间是如何交互的
MVC架构中,控制器和模型之间是如何交互的
10 0
|
1月前
|
存储 设计模式 前端开发
请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
【2月更文挑战第26天】【2月更文挑战第89篇】请解释 Web 应用程序的 MVC(模型-视图-控制器)架构。
|
1月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
1月前
|
消息中间件 缓存 API
|
1月前
Sora 和之前 Runway 那些在架构上有啥区别呢?_sora和diffsion的区别
Sora 和之前 Runway 那些在架构上有啥区别呢?_sora和diffsion的区别
13 0
|
2月前
|
存储 前端开发 JavaScript
什么是MVVM?MVC、MVP与MVVM模式的区别?
什么是MVVM?MVC、MVP与MVVM模式的区别?