MVC是模型(model)、视图(view)、控制(controller)这三个单词上的首字母组成。它是一种目前广泛流行的应用模型,它的目的是实现Web系统的职能分工。

下图所示为MVC模型关系图。其中,模型层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现;视图层则用于与用户的交互,通常用JSP来实现;控制层则是模型层和视图层之间沟通的桥梁,它可以把用户的请求分派并选择恰当的视图来显示它 们,同时它也可以解释用户的输入并将其映射为模型层能够执行的操作。

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。

MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,控制器决定用哪个模型来进行处理,然后模型通过业务逻辑层处理用户的请求并返回数据,最后控制器确定用哪个视图模型,用相应的视图格式化模型返回数据,并通过显示页面呈现给用户。

通过MVC这种特殊的设计结构,大大提高了Web应用的开发效率。

主要有以下几方面的优点:低耦合性(视图层和业务层分离);

高重用性和可适用性(允许不同式样的视图访问同一个服务器端的代码,比如web的HTTP浏览器和无线浏览器WAP);

较低的生命周期成本(开发和维护用户接口的技术含量降低);

部署快速(不同部件的开发人员专注于自己那个模块);

可维护性(分离视图层和业务逻辑层使Web应用更易于维护和修改);

有利于软件工程化管理(由于采用分层的思想);

MVC模型结构是什么相关推荐

  1. Qt - MVC模型/视图编程

    MVC模型/视图编程 Qt中的模型/视图架构用来实现大量的数据存储.处理及显示. MVC(Model-View-Controller)包括了3个组件: 模型(Model)是应用对象,用来表示数据: 视 ...

  2. MVC 模型-视图-控制器

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! Mode ...

  3. SpringBoot微服务架构下的MVC模型总结

    SpringBoot微服务架构下的MVC模型产生的原因: 微服务概念改变着软件开发领域,传统的开源框架结构开发,由于其繁琐的配置流程 , 复杂的设置行为,为项目的开发增加了繁重的工作量,微服务致力于解 ...

  4. 10.0 SpringMVC源码分析之MVC 模型由来

    0.MVC 模型由来 0.1 Model1 模型 Model1 模型是很早以前项目开发的一种常见模型,项目主要由 jsp 和 JavaBean 两部分组成. 它的优点是:结构简单,开发小型项目时效率高 ...

  5. ASP.NET MVC – 模型简介

    MVC 模型包含了除纯视图和控制器逻辑以外的其他所有应用程序逻辑(业务逻辑.验证逻辑.数据访问逻辑). MVC 模型 MVC 模型包含了除纯视图和控制器逻辑以外的其他所有应用程序逻辑(业务逻辑.验证逻 ...

  6. 理论与实践中的CNN模型结构,如何引领深度学习热潮

    摘要: 深度学习是指多层神经网络上运用各种机器学习算法解决图像,文本等各种问题的算法集合.卷积神经网络(CNN)是深度学习框架中的一个重要算法,本文介绍了CNN主流模型结构的演进过程,从一切的开始Le ...

  7. 【深度学习入门到精通系列】模型结构可视化神器Netron(连.pth都可以~!)

    文章目录 1 Netron 2 说明 1 Netron 目前的Netron支持主流各种框架的模型结构可视化工作,我直接给出gayhub链接: https://github.com/lutzroeder ...

  8. 在ASP.NET MVC 模型中 选择最好的方法将多个model(数据模型)传递到视图

    在ASP.NET MVC 模型中 选择最好的方法将多个model(数据模型)传递到视图 前提介绍 这个文章我们要讨论,在ASP.NET MVC模型的项目中,怎么选择一个最有效的方式来将多个数据模型(m ...

  9. DarknetTiny模型结构

    darknet 是yolov3 里用的模型,如下是是其模型结构 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Cr ...

最新文章

  1. Redis源码解析——有序整数集
  2. 基于GPU加速全局紧耦合的激光-IMU融合SLAM算法(ICRA2022)
  3. decimal(C# 参考)
  4. 使用SQL*PLUS构建完美excel或html输出
  5. C语言时间管理小程序,写了一个时间管理的微信小程序
  6. 用SQL语句添加删除修改字段
  7. scala的传值参数和传名参数
  8. Exception Error log
  9. Sleuth则是用来共方便的集成Zipkin。
  10. thymeleaf 模板语言简介
  11. C语言课后习题(35)
  12. Zabbix 4.2.5 安装部署实践详解
  13. 机器学习大牛李飞飞的电脑配置
  14. Java实现在线打开word文档加盖印章/盖章/签名功能
  15. 在做开关电路时,三极管限流电阻该如何选择?
  16. java中math中的指数是,java指数运算math
  17. Access violation reading location 0x000000XX
  18. 0504|1823. 找出游戏的获胜者
  19. [bzoj1812][IOI2006]riv_多叉树转二叉树_树形dp
  20. 用java定义三维空间的点

热门文章

  1. JS批量取消抖音关注脚本
  2. 单片机之认识元器件及焊接工作(一)
  3. Java学习笔记7-面向对象(续)
  4. 前端001 有彩色下划线的导航栏
  5. 程序员情人节花式表白:浪漫我们是认真的!
  6. 寻找第K大 --- 牛客网
  7. 报时机器,你应该拥有
  8. 调研了1000+食品包装案例,总结爆品包装法则
  9. 你用右脑多,还是左脑多?
  10. windows下32位汇编语言学习笔记