什么是MVC

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

MVC的应用

在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如Windows系统资源管理器文件夹内容的显示方式,下面两张图中左边为详细信息显示方式,右边为中等图标显示方式,文件的内容并没有改变,改变的是显示的方式。不管用户使用何种类型的显示方式,文件的内容并没有改变,达到M和V分离的目的。

在网页中:

V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

原创作者:吴小糖

创作时间:2024.3.13

相关推荐
北城以北88889 小时前
Spring定时任务与Spring MVC拦截器
spring boot·spring·mvc
精神病不行计算机不上班2 天前
[Java Web]Java Servlet基础
java·前端·servlet·html·mvc·web·session
码界奇点2 天前
基于Spring MVC与AngularJS的API接口管理系统设计与实现
spring·毕业设计·yapi·mvc·angular.js·源代码管理
世洋Blog2 天前
数据驱动与MVC
unity·mvc
何中应3 天前
【面试题-8】Spring/Spring MVC/Spring Boot/Spring Cloud
java·spring boot·后端·spring·mvc·面试题
JPX-NO3 天前
使用cargo-generate自定义创建项目模板
rust·mvc
JPX-NO3 天前
Rust Rocket Web 应用项目结构详解(MVC 风格)
rust·mvc·rocket
聊询QQ:276998854 天前
CNN - BiLSTM - SelfAttention在Matlab中的多变量回归预测探索
mvc
木易 士心4 天前
MVC、MVP 与 MVVM:Android 架构演进之路
android·架构·mvc
还是大剑师兰特4 天前
MVC和MVVM模式详解+对比
mvc·mvvm·大剑师