学习ASP.NET MVC5框架揭秘笔记-Model2

Model2

        Trygve M.H.Reenskau当初提出的MVC是作为桌面应用的架构模式。

Web应用和桌面应用的主要区别在于用户是通过浏览器与应用进行交互,交互请求和响应是通过Http请求和响应来完成的。

为了让MVC能够为Web应用提供原生的支持,Model2这种MVC变体被提出来。

对于Web应用来说,和用户直接交互的UI界面界面由浏览器来呈现,用户交互请求通过浏览器以HTTP请求的方式发送给Web服务器,服务器对请求进行相应的处理并最终返回一个HTTP回复对请求予以响应。

Model2中一个HTTP请求的目标是Controller中的某个Action,具体体现为定义在Controller类型中的某个方法,所以对请求的处理最终体现在对目标Controller对象的激活和对目标Action方法的执行。一般来说,Controller的类型和Action方法的名称及作为Action方法的部分参数可以直接通过请求的URL解析出来。

我们通过一个拦截器(Interceptor)对抵达Web服务器的HTTP请求进行拦截。对于ASP.NET来说我们可以通过HttpModule的形式来定义这么一个拦截器。这个拦截器根据根据当前请求解析出目标Controller的类型和对应的Action方法的名称,随后目标Controller被激活,相应的Action方法被执行。

目标Action方法被执行过程中,他可以调用Model获取相应的数据或者改变其状态。在Action方法执行的最后阶段一般会创建一个View,后者最终被转换成HTMLHTTP响应的形式返回到客户端并呈现在浏览器中。绑定在View上的数据来源于Model或者基于显示要求进行的简单逻辑计算,我们称它为VM,即ViewModel


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值