本站联系方式
   联系QQ  :1095080675
   联系QQ  :1223950575
  技术指导:1353934434
  
  电子邮箱:1095080675@qq.com
标题  ASP.NET中的MVC模式研究
编号  12131
编程语言  ASP.NET, C#
开发环境  Visual Studio 2005 或 2008
数据库  SQL Server 2000
资料明细  论文、程序
推荐指数  ★★★★★
内容介绍

1 引言
ASP.NET MVC Framework是微软官方提供的MVC模式,是编写ASP.NET Web应用程序的一个框架。此前已习惯了运用ASPNET WebForm开发模式的设计人员运用MVC模式可能会有所困惑,为什么微软推出ASP.NET MVC Framework?同时,在ASPNET WebForm开发模式设计Web应用程序开发时,设计人员可能会运用三层结构架构Web系统,而MVC模式也是由三个事物组 成,因此技术人员就会产生疑惑,容易将二者混为一谈。
通过ASP.NET WebForm、MVC、三层结构以及MVP之间进行比较,为Web应用程序开发人员在项目开发设计中选用不同的开 发模式和软件结构来架构系统提供了参考。同时结合江苏省大学生 实践创新训练项目“基于ASP.NET MVC的校内大学生社区系统设计与实现”,介绍了ASP.NET MVC在Web应用程序系统开发中其View、Control和Model中应包含哪些具体内容,为ASP.NET MVC的运用提供了借鉴的方法和技巧。
2 ASP.NET MVC与相关技术
2.1 ASP.NET MVC
ASP.NET MVC——ASP.NET MVC的推出确实大大改变了Web App的开发方式,很多Web Form下的方式不被提倡了,如服务器端控件将被抛弃,转而再次使用客户端控件;事件驱动模型被抛弃,转而使用了类似传统的URL跳转处理模型。而且在数据验证等方式上与Web Form下提倡的方式有了很大变化。
MVC是1979年提出的,起初是用于软件的一种架构模式。模 型-视图-控制器(MVC)是Xerox PARC在上个世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模式,然后被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 Cold Fusion 和 PHP 的开发者的欢迎。 MVC (Model-View-Controller) 在 Java / JSP / J2EE 中已广泛运用,并衍生出 Struts 等开放源码的 Framework (框架)。其主要目 的是为了在开发复杂的大型网站时,能将不同的功能作切割,提高程序代码的可读性,以及组件的可重用性。
2.2 ASP. NET MVC与WebForm
ASP.NET MVC将WebForm中的一个IHttpHandler换成了两个IHttpHandler。Web Form中Page(IHttpHandler)既负责业 务逻辑又负责显示,在MVC中换成了两个IHttpHandler,第一个Handler负责业务逻辑,第二个Handler(ASPX)是View,用 于显示的。在MVC中的业务实际执行时间被提前到了HttpMolde中,而Web Form的请求只在httpHandler容器中被执行。即MVC 中Controller与View的分离是使用的ASP.NET请求管道隔离实现的,这样在不影响效率(一次请求,而ASP.NET MVC使用了HttpModules来拦截地址请求,具体用到了System.Web.Routing类库(MVC2中)。在Application_Start时,UrlRoutingModule类拦截请求,给RouteTable的全局对象一个拦截的设置,设置使 用RouteCollection对象进行保存,MVC对这个类进行了扩展——RouteCollectionExtensions。客户访问页面时,UrlRoutingModule 类拦截请求,在RouteTable中查看是否符合规则,符合就调用MvcHandler。MvcHandler的ProcessRequest方法再调用Controller;从而达到代码的逻辑层次上的分离,实现了Controller 代码的单独管理。显然MVC模式有利于理解分层逻辑,把握代码的层次感。Controller到aspx页面之间的过程,已经被MVC框架隔离。至于Controller或者View页面与Model调用的过程,则由开发人员来控制。
MVC纵向切割了开发过程中的代码,从服务器到浏览器层层分离,层次之间耦合度很低,因为它是顺着底层的开发脉络进行封 装,所以有利于开发者对整个程序过程流转的理解。但是MVC有一个非常大的缺点,这个缺点是和整个软件发展思路相背离的,那 就是它无法封装,所以无法被重用。MVC只适合轻量级的开发,桌面开发是极少用到的。Web开发恰恰就是轻量级,因为网络硬件 条件的限制,不需要也无法做到非常复杂的逻辑。这也是MVC非常非常适合Web开发的原因。

说明
 以上是论文部分内容。如果对以上内容感兴趣,可以QQ:1095080675或邮件1095080675@qq.com继续联系我们。
  • 上一篇:基于ASP.NET的农产品供销信息网站的研究与设计
  • 下一篇:城市居民户籍管理系统的设计与实现