全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

简介

编辑

MVC开始是存在于桌面程序中的,M是指业务模型,V是指 用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用 柱状图、 饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。  [1-2]
模型-视图-控制器( MVC)是 Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种 软件设计模式,已被广泛使用。后来被推荐为 Oracle旗下 Sun公司 Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion和 PHP的开发者的欢迎。模型-视图-控制器模式是一个有用的 工具箱,它有很多好处,但也有一些缺点。  [3]
(概述内容来源:  [4] )

MVC 编程模式

编辑

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:  [1]
  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
  通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
  通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

框架内容

编辑

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

视图

视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由 HTML元素组成的界面,在新式的Web应用程序中, HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括 Adobe Flash和像 XHTML, XML/ XSL, WML等一些标识语言和 Web services.
MVC好处是它能为应用程序处理很多不同的 视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。  [6]

模型

模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像 EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。  [6]

控制器

控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送 HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。  [6]

什么是MVC开发模式?相关推荐

  1. 方立勋_30天掌握JavaWeb_JavaBean、mvc开发模式、el表达式、jstl标签

    什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法暴露 ...

  2. 五、Web服务器——MVC开发模式 EL表达式 JSTL 学习笔记

    今日内容 1. JSP:1. 指令2. 注释3. 内置对象2. MVC开发模式 3. EL表达式 4. JSTL标签 5. 三层架构 JSP: 1. 指令* 作用:用于配置JSP页面,导入资源文件* ...

  3. 命名规范、MVC 开发模式

    一.高级软件介绍 JDK 7 Eclipse mars2 MySql Navicat 二.数据库 SQL 命令 1 创建数据库并指定编码 Create database 数据库名 default ch ...

  4. java day41【JSP 、MVC开发模式 、EL表达式 、JSTL标签 、三层架构】

    第一章  JSP 1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : ...

  5. Re:PyQt5 从零开始的MVC开发模式规划

    前言 初次接触较大型的软件开发项目,找了几天可参照的项目无果,于是自己模仿django中的结构来做一个MVC开发模式规划,也有点闭门造车的意思,如有其他好的办法分享,下方评论见. (本篇文章从零开始, ...

  6. 面试题:什么是MVC开发模式,其优缺点。

    什么是MVC开发模式,其优缺点. 1.什么是MVC设计模式 MVC模式将系统分为视图,模型及控制器,其中控制器作用分离视图和模型,使系统解耦,易于修改和拓展,但同时增加了开发难度. 2.MVC优缺点 ...

  7. JavaWeb之MVC开发模式之商品实例CURD详解

    文章目录 三层MVC开发模式架构 一.先建立目标类对象:Curriculum. 三,过滤层Filter 四.增加商品 4.1 增加前端adds.jsp 4.2 增加的servlet服务 五.删除课程 ...

  8. 学习笔记 --- 工厂、单体、适配器、策略、观察者、MVC设计模式及ASP.NET MVC开发模式、关闭缓存的方法...

    关于工厂.单体.适配器.策略.观察者没啥好说的, 代码中有说明 //DesignPattern.cs View Code using System; using System.Collections. ...

  9. java中mvc开发模式_MVC开发模式

    1.1  MVC模式 1.1.1  MVC模式简介 MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率. 在M ...

最新文章

  1. 还在忍受限速网盘?来搭建一套自己的私有网盘!
  2. 第5天:基于类的视图与中间件
  3. vcf文件(call variants得来的)怎么看变异是纯合还是杂合的
  4. 在Spring Boot 项目中使用Spring AOP实现切面日志
  5. 解决克隆centos虚拟机后ip配置失败的问题
  6. 简单几招,教你将GIF动图转换为JPG图片
  7. html 415错误,HTTP 415 错误 – 不支持的媒体类型(Unsupported media type)
  8. unrecognized selector sent to instance XXXXX
  9. React源码之React.createElement
  10. 麻将开金算法java代_通用麻将胡牌算法
  11. cvte软件测试笔试题,CVTE前端笔试20190302
  12. Qt下使用QAxObject进行Word转换为PDF出现错误 error: undefined reference to `QAxObject::QAxObject(QObject*)‘
  13. 基于freeswitch1.6的IVR智能语音机器人交互逻辑lua脚本
  14. mysql如何使用多核cpu_利用多核 CPU 实现并行计算
  15. excel手机版_微软的新办公利器,这才是手机办公该有的亚子!
  16. 如何从0到1组建敏捷团队?
  17. 解决TeamViewer远程连接受阻的方法
  18. 金麦浏览器app v8.2.1.18
  19. 2017北京世界食品博览会会刊(参展商名录)
  20. cannot coerce class ‘“igraph“’ to a data.frame

热门文章

  1. 【ORACLE】数据库
  2. Altium Designer在由原理图导入PCB图报错:Number of nets in differential pair NET-TX+ is 1 instead of 2
  3. 数组和链表的顺序遍历的时间比较
  4. 低成本佐川泽川圣安变频器设计方案ZC600量产VF80源代码原理图PCB
  5. 1.tessent命令学习笔记
  6. CDA Level2建模备考心得
  7. 修复iPhone X 开机卡白苹果导致无法开机的问题
  8. 智慧档案室改造建设方案 - 一站式建设智慧档案馆建设方案
  9. VS Code如何设置背景色
  10. 在没有安装VC软件的电脑上也可以执行的exe文件