MVC 概念(一)

MVC是什么?

MVC适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器3个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其他两部分。

原理图

 

 

 

模型

模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。

视图

视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,其更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。

控制器

MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。

还可以3个职责:参数校验,异常捕获,业务封装(不是包括具体方业法的实现哈)--2012-2-22

总之,控制器一定要瘦。

 

 

MVC的处理过程

 

MVC的处理过程是:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。

 

MVC的优点

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

1.     提供了对HTML页面显示的全面控制

2.     生成的HTML更加简洁,由于没有ViewState,因此页面也会变得很小

3.     清晰的将代码与显示分离

4.     提供了应用程序层的单元测试

5.     有多种视图引擎可以被支持(Brail Nhaml Nvelocity XSLT

6.     可以方便的整合jQueryYahooUI之类的JavaScript架构

7.     可以从逻辑上动态的映射URL

8.     默认使用RESTful界面(有助于SEO

 

ASP.NET MVC缺点:

1.     非事件驱动型架构,增加了理解难度

2.     需要理解并熟悉HTTPHTMLCSSJavascript

3.     第三方库提供支持不足

4.     没有提供ViewStatePostBack模型,因此难以保存状态

资源:http://www.asp.net/mvc/tutorials/passing-data-to-view-master-pages-cs

 

下一篇:MVC(二):第一个asp.net MVC3.5体验项目

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值