美文网首页Java笔试面试JavaJava高级进阶
MVC设计模式与三层模式的理解

MVC设计模式与三层模式的理解

作者: pujess | 来源:发表于2019-08-15 16:26 被阅读0次

引入

先看使用MVC设计模式的一个例子:一个学生管理系统通过实现对学生信息的查询显示。先忽略图中JavaWeb的三层框架,只看MVC设计模式。


MVC设计模式.jpg

可能大家会很懵,啥是MVC,啥是三层架构,放在一起傻傻分不清。不着急,且慢慢看。

MVC是什么?

——它是一种设计模式!
何谓设计模式?设计模式就是用让代码更容易让人理解的方式写代码!比如说我可以把所有功能都写在同一个函数里面像汇编语言一样,可是那样很难让人理解对吧,所以分函数、分对象来设计代码就会容易理解容易编写代码。这就是设计模式。
而MVC就是一种为了让代码更容易理解而产生的设计模式,它把代码类型给划分成三层:

MVC 划分依据
View层 是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Control层 是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
Model层 是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
  • View视图层,表示代码都是用于展示数据和界面的
  • Control层,表示代码都是用于处理企业数据和业务规则的
  • Model层,表示代码都是接受用户的输入调用模型和视图去完成用户的需求,本身并不处理业务逻辑!
    MVC

JavaWeb三层架构又是什么?

其实是一种javaWeb常用的体系架构,虽然也是用某一层来表示某一类代码的功能,但是划分不一样


三层模式

MVC与三层模式的联系与区别

如何理解三层架构与MVC_百度经验
三层模式是体系结构模式,MVC是设计模式(实际上体系结构和设计模式都是对代码功能的划分——他们的作用都是为了降低系统耦合度
三层模式又可归于部署模式(侧重于业务逻辑与数据),MVC可归于表示模式(侧重于界面与页面逻辑控制)

MVC与三层模式的理解

无论是体系结构模式还是设计模式,它的作用都是为了降低系统耦合度,也就是说把系统代码给划分成几个互不相关的部分,不同部分解决不同问题,每一个部分都可以从一个特定的输入得到一个特定的输出,部分之间联系就是靠一个的输出即为另一个的输入的方式。

MVC 接受上层输入 对上层输出 对下层输入 接受下层输出 作用
View层 客户端的请求(request) 返回一个应答response(新的页面、跳转) 收到一个下层返回的应答 1.提供客户端给控制层传参的入口;
2.展示内容给客户端
Control层 客户端在返回的视图层发出的请求 返回一个应答 传入调用需要处理的参数到模型层 接受下层返回的处理结果 调用模型层去处理业务并转发给视图层展示
Model层 接受控制层传入的参数 处理业务规则

可以看到用户在客户端(浏览器)可以访问控制层,看到视图层

三层模型 接受上层输入 对上层输出 对下层输入 接受下层输出 作用
UI层 客户端的请求(request) 返回一个应答response(新的页面、跳转) 传入调用需要处理的参数到业务层 收到一个下层返回的应答 1.展示内容给客户端
2.调用下层处理业务
业务逻辑层 接受UI层传入的参数 返回处理业务的结果 传入调用需要处理的参数到数据访问层 接受下层返回的处理结果 1.处理业务规则
2.调用下层获取数据
数据访问层 接受上层传入的参数 返回数据库访问结果 获取数据库数据

相关文章

  • MVC设计模式

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

  • MVC设计模式与三层模式的理解

    引入 先看使用MVC设计模式的一个例子:一个学生管理系统通过实现对学生信息的查询显示。先忽略图中JavaWeb的三...

  • MVC开发模式&三层架构

    MVC:开发模式 三层架构:软件设计架构

  • iOS最新大厂面试题整理

    iOS开发面试梳理(一) OC的理解与特性简述内存管理基本原则如何理解MVC设计模式如何理解MVVM设计模式Obj...

  • JavaWeb入门——三层架构

    1.三层架构 1.1设计目标 与MVC设计模式的目标一致:都是为了解耦合、提高代码复用;区别,二者对项目理解的角度...

  • MVC 和 MVVM

    一 MVC模式和MVVM模式 1.MVC模式MVC是一种软件架构模式.把软件分为三层(Model, View, ...

  • java|三层架构与MVC

    MVC不是三层架构! 三层架构是java特有的,MVC不管java,PHP,.net等都有这种设计模式 M:mod...

  • 游戏开发中的MVVM设计模式

    mvc设计模式 说到mvvm设计模式不得不先说说mvc设计模式。mvc其实不是一个模式,而是几个模式结合使用的结果...

  • Day17--JSP&MVC&EL&JSTL

    JSP: MVC:开发模式 EL表达式 JSTL 三层架构:软件设计架构

  • 6. iOS面试题其他篇1

    常用的设计模式 单例模式 组合模式 观察者模式 代理模式 享元模式 工厂方法模式 抽象工厂模式 MVC的理解 数据...

网友评论

    本文标题:MVC设计模式与三层模式的理解

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