杨老师课堂之JavaWeb体系的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页面。

如下图所示:
杨老师课堂之JavaWeb体系的MVC与三层架构有什么区别

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

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

作者: 杨校

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

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

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

上一篇:JavaScript 字符串拼接性能分析小记


下一篇:【3万患者11万图像14类病理】NIH公开大规模胸部X光数据集