美文网首页
MVC与三层架构的区别

MVC与三层架构的区别

作者: 苏树旺_三月 | 来源:发表于2020-08-29 22:10 被阅读0次

原文链接:https://www.jianshu.com/p/a6b2308703d4

一、MVC与三层架构的异同
1.不同点
三层架构是程序设计的一种典型架构方式,确立项目后首先做的是对其进行架构设计,三层架构就是把应用程序的分层,从而降低各个模块之间的耦合。而MVC是程序的一种设计模式,即应用程序确立架构后再根据需求决定是否要采用的一种模式, 是一种使程序代码变得条理、逻辑、通用的代码规范。因此二者的区别也就显现出来了,三层架构是一种架构方式而MVC是一种设计模式(或者说是一种设计思想)。
三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。即使将MVC当作架构模式,也不是分层模式。MVC和三层架构基本没有比较的意义,是应用于不同领域的技术。

image

2.相同点

MVC与三层架构虽然说实质是不同的,但在所达到的目的、所实现的效果是相同的,二者都是为了应用程序解耦,即使应用程序达到”高内聚,低耦合“的目的

二、MVC

MVC即 Model-View-Controller,它是一种GUI界面设计的主流模式,主流思想,共分为三层:模型层、视图层、控制层。MVC强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

M:模型层,用来实现数据表结构与应用程序实体对象对应、实现业务逻辑处理以及数据库的访问等等。
V:视图层,实现与用户交互的界面,实现数据的输入输出功能。
C:控制层,联系、控制模型层和视图层去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
MVC的工作方式,以实现用户登录为例,首先View层接受用户输入的账号和密码等数据,然后传递给Congtroller层,Controller层调用Model层的业务逻辑处理方法并返回一个结果给Controller层,最后Controller层判断是否登录成功弹出信息或调出登录的界面。

三、三层架构
通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
1.表现层(UI):实现应用程序的界面,从而实现用户进行交互的功能
2.业务逻辑层(BLL):针对具体的业务需求而进行业务逻辑处理,直接对数据访问层进行操作
3.数据访问层(DAL):该层直接对数据库进行操作,对数据进型增删改等等

四、二者“生搬硬套”的对应关系
所谓”生搬硬套“就是二者本没有关系,一个为架构一个为设计模式怎么谈关系。是因为在使用三层架构或N层架构的基础上常会伴有MVC,所以大家总是会认为MVC就是三层架构或三层架构就是MVC,殊不知,它们二者是一起出现的。因此便会产生这种:View层对应三层架构的表现层,Model层对应三层架构的业务逻辑层和数据访问层。
严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的业务逻辑层BLL进行对话。

作者:启春_三月
链接:https://www.jianshu.com/p/a6b2308703d4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

  • MVC与三层架构

    MVC与三层架构 系统架构 系统架构是指,整合应用系统程序大的结构。经常提到的系统结构有两种: 三层架构 MVC ...

  • JavaWeb之MVC三层架构

    十、MVC三层架构 目录:早期开发、MVC三层架构什么是MVC:Model View Controller 模型、...

  • Spring MVC高级框架

    Spring MVC应用 Spring MVC介绍 MVC体系结构 三层架构在B/S架构中,系统标准的三层架构包括...

  • 2017.09.21

    一直以为 MVC 和三层架构是同一个东西,直到今天才明确的知道:MVC 是 MVC,三层架构是三层架构, 它们之间...

  • mvc+三层架构

    三层架构 mvc

  • MVC设计模式

    JSP开发模式JSP开发模式 三层架构&MVC 的关系三层架构&MVC 的关系 使用MVC设计模式完成 学生信息管...

  • 三层架构与MVC的区别

    原文连接:http://blog.csdn.net/gaoying_blogs/article/details/3...

  • MVC与三层架构的区别

    原文链接:https://www.jianshu.com/p/a6b2308703d4 一、MVC与三层架构的异同...

  • 《ASP.NET MVC 企业级实战》阅读笔记初识MVC

    3.1 MVC简介与三层架构 3.1.1 MVC简介 MVC模型[model]: 实现系统中的业务逻辑,主要是存储...

  • 7、MVC模式与三层架构

    MVC设计模型 三层架构

网友评论

      本文标题:MVC与三层架构的区别

      本文链接:https://www.haomeiwen.com/subject/rolijktx.html