MVC架构思想最早是由Trygve M.H.Reenskau提出,他是挪威的打算机专家,MVC是他在1979年访问施乐帕克研究中央期间提出的一种紧张针对GUI运用的软件架构模式。
MVC思想表示了“关注点分离”这一基本方针,它将一个人机交互的运用涉及的功能分为Model、Controller、View三部分,他们各自的职责如下:
1、Model是对运用状态和业务功能的封装,我们可以将它理解为同时包含数据和行为的领域模型(Domain Model),Model吸收Controller的要求并完成相应的业务处理,在运用状态改变的时候可以向View发出相应的关照。

2、View实现可视化界面的呈现并终极捕获用户的交互操作(如鼠标、键盘操作);
3、View捕获到用户的交互操作后直接发给Controller,Controller完成相应的UI逻辑。如果须要涉及业务功能的调用,Controller会直接调用Model.在完成UI处理之后,Controller会更加须要掌握原View或者创建新的View对用户交互操作予以相应。
MVC架构思想已经在Java(SpringMVC)、C#(ASP.NET MVC)和PHP等开拓措辞有事情流程
Spring MVC事情流程
ASP.NET MVC事情流程
PHP MVC 事情流程
二、MVC架构好处1、低耦合性:视图层和业务层分离,这样就许可变动视图层代码而不用重新编译模型和掌握器代码。同样,一个运用的业务流程或者业务规则的改变只须要改动MVC的模型层即可,由于模型与掌握器和视图相分离,以是很随意马虎改变运用程序的数据层和业务规则。
2、高重用性和可适用性MVC模式许可你利用各种不同样式的视图来访问同一个做事器真个代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),例如:例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所须要的仅令是改变视图层的实现办法,而掌握层和模型层无需做任何改变。
3、较低的生命周期本钱MVC使降落开拓和掩护用户接口的技能含量成为可能。
4、快速的支配利用MVC模式使开拓韶光得到相称大的缩减,它使程序员(Java开拓职员)集中精于业务逻辑,界面程序员(HTML和JSP开拓职员)集中精力于表现形式上5、可掩护性分离视图层和业务层也使得WEB运用更便于掩护和修正;
6、有利于软件工程化管理由于不同的层次各司其职,每一层不同的运器具有某些相同的特色,有利于通过工程化、工具化管理程序代码。