到底什么是MVC?

ASP.NET MVC

微软同时又推出了类似Web MVC的ASP.NetMVC,但是在截获请求部分还是存在着一些差别,具体请看下图:

到底什么是MVC?_第1张图片

ASP.NET MVC的具体工作流程为:

到底什么是MVC?_第2张图片

当用户从浏览器输入地址,发出页面请求,到返回结果,一般经过以下步骤:

当用户输入地址,发出请求时,实际上就是向控制器发出相关命令

控制器接收用户指令后,向模型请求获得相关数据

模型将对应的数据返回给控制器

控制器将有关数据发送到指定视图

指定的视图呈现指定的数据

Web Forms构建web相对容易,开发人员只需在一个可视化设计器中拖放控件,设置相关属性即可,通过编写代码来响应事件,使得对于程序的逻辑操作非常直观。但是,开发人员很难了解背后HTML是如何运行的,同时,如果没有合理控制ViewState的话,页面的尺寸将大大超过预期,使得页面打开相当缓慢,随着web应用的复杂化,不容易测试也是开发中面对的一个问题.

MVC避免了Web Forms所带来的复杂性,没有数据回传,没有页面中保存视图状态,开发者可以完全掌握页面呈现的全过程,使用模型、视图及控制器将web划分为不同的组件,有利于开发与设计的分离,也提高了程序的可维护性和扩展性,特别是利于应用程序的测试,可以比较容易的实施测试驱动开发。

两种开发技术并存。 MVC只是给开发者提供了开发web应用程序的一种选择,而不是替代传统的Web Forms,这两种技术应用于不同的场合具有不同的优缺点。具体两者之间的比较分析,可以查看WebForms vs. MVC。

你可能感兴趣的:(到底什么是MVC?)