mvc是aspx.net用于构造web应用的一种框架,和传统的aspx.net开发模式(web form)在架构上相同,同样采用三层框架实现,但相比传输开的模式,各层架构更加规范。

传统三层架构:

  • view(前端html处理,传输的三层架构一般不含view)
  • model(实体层,使用前需要创建实例)
  • dal(数据访问)
  • bll(业务处理,处理数据或业务之间的事务)

传统架构中需要先实例化一个model,再通过modal访问bll以获取数据处理的能力,bll中完成了通过dal对数据的访问或其他的处理事务,最终将数据反馈给前端用户。

mvc三层架构:

  • model(业务处理,和传统三层架构不同,mvc中的model具有直接处理能力)
  • view(视图)
  • controller(用户交互处理,将完成请求及响应事务)

mvc中的controller主要作用是从view读取数据、控制用户的输入,最终提交给model。

两者在处理方式上的区别:

(1)     web from每次请求一个页面时,具体的处理流程如下:

(2)     mvc的处理流程:

  关于mvc的路由,可以理解为uri的映射,传统web中,web服务器将uri与磁盘文件直接映射;而mvc中,uri被web服务器映射到了controller中。