MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

使用MVC的好处

视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。

高重用性和可适用性

MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它

包括任何WEB(HTTP)浏览器或者无线浏览器(wap),例如:例如,很多数

据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的仅令

是改变视图层的实现方式,而控制层和模型层无需做任何改变。

较低的生命周期成本

MVC使降低开发和维护用户接口的技术含量成为可能。

快速的部署

使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。

可维护性

分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

有利于软件工程化管理
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。

什么是MVC?MVC的好处相关推荐

  1. 【Java面试题】MVC是什么?MVC设计模式的好处有哪些?

    mvc是一种设计模式(设计模式就是日常开发中编写代码的一种好的方法和经验的总结).模型(model)-视图(view)-控制器(controller),三层架构的设计模式.用于实现前端页面的展现与后端 ...

  2. MVC详解:mvc是什么?为什么要用MVC?MVC工作原理以及MVC优缺点

    一.什么是MVC Model:模型层 View:视图层 Controller:控制层 MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户 ...

  3. php的设计模式和mvc,mvc设计模式是什么

    mvc设计模式是通过JSP技术来表现页面,通过Servlet技术来完成大量的事务处理工作,实现用户的商业逻辑,在这种模式中,Servlet用来处理请求的事务,充当了控制器的角色. "MVC& ...

  4. html.partial mvc,MVC Html.Partial or Html.Action

    问题 I am new to asp.net MVC so please bear with me. I need build a menu that repeats across multiple ...

  5. Spring MVC (mvc框架)

    与struts2属于竞争关系,是MVC框架. 1.依赖 <dependencies><dependency><groupId>org.springframework ...

  6. html.partial mvc,MVC Html.Partial或Html.Action

    Html.Partial:呈现部分视图,而不首先点击控制器操作.请参阅:Partial Views Html.Action调用控制器操作,可能会返回视图/部分视图(或者可能不会,它可能会抛出HttpN ...

  7. ASP.NET MVC ---MVC中验证码

    验证码的作用是为了防止物理盗号,或者暴力破坏服务器 图片验证码生成 模型的实现 首先在Models文件夹添加实现验证码的模型CreateValidateCode public class Create ...

  8. MVC 之 架构的基本原理及Asp.Net实现MVC

    一.引言 许多Web应用都是从数据存储中检索数据并将其显示给用户.在用户更改数据之后,系统再将更新内容存储到数据存储中.因为关键的信息流发生在数据存储和用户界面之间,所以很多应用将数据和用户界面这两部 ...

  9. 基于REST的MVC架构设计与实现

    在上一篇随笔已经讲述了REST的WEB serivce架构的相关知识,并且搭建了一个非常简单的实例,在另一篇随笔中也写了ajax用JSON序列化数据的传输,在这篇文章将结合前两篇随笔所讲的知识做一个稍 ...

  10. 框架模式 MVC 在Android中的使用

    算来学习Android开发已有2年的历史了,在这2年的学习当中,基本掌握了Android的基础知识.越到后面的学习越感觉困难,一来是自认为android没啥可学的了(自认为的,其实还有很多知识科学), ...

最新文章

  1. Flask基础-(模板)
  2. 一些防止 Java 代码被反编译的方法
  3. [分布式]事务处理的常见方法
  4. TensorFlow Serving 尝尝鲜
  5. Redis的两种持久化机制RDB和AOF
  6. 大数据时代数据库-云HBase架构生态实践
  7. python展示数据库视图_在Django的视图中使用数据库查询的方法
  8. 消息驱动 微服务器,消息驱动的微服务-Spring Cloud Stream整合RocketMQ
  9. xml格式报文的拼装,和解析成实体类
  10. jsp基础知识点——思维导图
  11. 卡巴斯基安全部队2013 卡巴斯基正式版 送一年使用序列号
  12. sigmoid画图_博弈画图软件(Window版和MAC版)
  13. 利用激活图谱探索神经网络-Exploring Neural Networks with Activation Atlases (上)
  14. 如何在Vue项目中引入ArcGIS JavaScript API​ 创建三维可视化地图(含vue项目创建教程)
  15. poj 1655 树的重心
  16. 【环境搭建】机械革命 Z3 Air 双系统 原生Windows10 +Ubuntu 20.04.2.0 LTS 桌面版 配置
  17. Oracle Data Guard搭建——Physical Standby Database
  18. 基于WF4.0的公文管理系统
  19. 关于解决MYSQL的like模糊查询效率的一种方案
  20. 魂行道 之 湖滨鬼舍

热门文章

  1. 韩国31%工薪阶层为加密货币投资者
  2. 视频课程 | 社交电商SaaS产品技术架构
  3. redis主从复制和集群搭建
  4. 计算机电缆护套厚度计算方法,电线电缆的导体、护套、绝缘计算公式介绍
  5. Java高并发书籍推荐
  6. 【网络服务数据库教程】05 Web服务器 - Apache
  7. CTF中一道有意思的键盘密码
  8. 00.机器视觉学习的必要了解
  9. 金山毒霸一周安全事件点评:lnk漏洞利用教程被高调发布
  10. 神泣服务器维护公告,《神泣》七大区服务器合并详细名单公告