MVC或模型视图控制器,是软件中使用的一种技术。它的基本目的是在软件处理数据的方式和软件与用户交互的方式之间建立一个区别,这种区别意味着可以分别处理、开发和检查流程,从而提高效率。

该过程基于这样一个概念:在最简单的层次上,所有软件都执行相同的三步功能。首先用户输入数据,然后软件对数据进行处理,最后软件将结果作为一组新的数据输出。一个非常基本的例子是用户在计算器中输入“2+2=”,计算器计算出答案,然后计算器显示“4”。

在MVC系统中,计算机处理数据的方式称为模型,结果的输出称为视图,用户输入的数据称为控制器。重要的是要记住,视图和控制器是控制输入和输出的程序部分。这些术语通常不涉及物理对象,如键盘或显示器。

使用MVC的目的是简化对软件过程中不同元素的隔离,该系统有效地将程序分为三部分:数据处理、输入过程和输出过程。这意味着对程序的一部分的更改可以更顺利地进行,而不必重写程序的其他部分。

模型视图控制器系统被广泛认为是Smalltalk编程语言的先驱,Smalltalk创建于20世纪70年代的Xerox,它的部分设计目的是向人们介绍计算的对象模型。简单地说,这涉及到将计算任务分解成不同的部分,并围绕这些部分交互的方式构建程序。Smalltalk也是动态编程的一个例子,在动态编程中,一个程序即使在运行时也可以修改。

MVC系统通常用于基于web的软件,比如用于动态或交互式网站的软件。在这些情况下,视图是代码,例如HTML,它是在处理查询之后由软件生成的。例如,在搜索引擎上,搜索查询框是控制器,结果页是视图。