当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

ASP.NET MVC

欢迎进入.NET社区论坛,与200万技术人员互动交流 >>进入

    在今天,MVC(Model-View-Controller)设计模式与测试驱动开发方法(Test-Driven Development 简称TDD)被广泛应用于企业级WEB应用的开发中。MVC设计模式强制我们将应用分解成三个部分:模型(Model)负责业务数据的存储及管理,视图(View)负责呈现数据,并为用户提供与系统交互的界面接口,而控制器(Controller)则负责将用户动作转换成相应的业务数据集合传递给模型,或者将业务数据转换成相应的方式传递给视图。

    使用MVC设计模式的一个最大的好处就是它简化了WEB应用开发中的TDD过程,因为它使我们避免了与复杂的图形用户界面(GUIs)交互。TDD需要开发者创建小粒度的单元测试用例,检测出执行失败的用例,编写代码以通过用例检测,最后要重构代码以应对需求变更。

    直到2007年末,可用于ASP.NET的MVC框架只有开源框架MonoRail.而从2000年开始,Struts就成为Java平台上用于MVC架构的框架。PHP更是拥有十几种MVC框架。Ruby on Rails平台本身就自带了默认的MVC架构功能,并且其中包含一个"text/unit"库,用以整合单元测试功能。

    在VS2002和VS2003中,Visual Studio开发小组仍然没有能为这个IDE提供单元测试功能和重构特性。终于,在VS2005的测试版中,单元测试功能(MSTest)被整合到这个IDE中,并且在VS2005的标准版和更高级版本中,为C#语言添加了重构机制。VS2008专业版及更高版本中也整合了MSTest,但是,在微软发布的VS2008和ASP.NET3.5中并没有提供对MVC的支持。

    Tech Brief: Postback Model

Tech Brief: Postback Model

    前瞻微软公司ASP.NET小组最新的副组长Scott Guthrie曾预测第一个基于ASP.NET3.5平台的MVC框架将于2007年10月诞生。那时,Guthrie曾承诺在来年的前半年里为ASP.NET提供完整的MVC特性。

    紧接着,微软在12月份发布了一份MVC的社区技术预览(community technology preview 简称CTP),它是ASP.NET3.5扩展的一部分。这个扩展将包含ASP.NET动态数据(ASP.NET Dynamic Data),它是一个类似于Rails的脚手架(scaffolding)框架,这个技术使得快速开发基于数据驱动的MVC站点成为可能。基于SQL或基于实体的LINQ将作为模型的数据源。

    本月早些时候,微软发布了ASP.NET MVC 预览版2,在这个预览版中,提供了MVC routing,并对测试功能进行了改进。另外,它还提供了VS2008开发环境中第一个支持MVC的模板,而且对动态数据进行了改进。

    关键特性根据Guthrie所讲,ASP.NET MVC框架的一些特性对Web开发人员非常重要,它包括以下几点:1.NET MVC框架深度整合许多用户熟悉的平台特性,如运行时、身份验证、安全性、缓存和配置特性等。

    2.整个架构是基于标准组件的,所以开发人员可以根据自己的需要分解或替换每个组件。

    3……NET MVC框架使用用户熟悉的ASPX和ASCX文件进行开发,然后在运行时生成HTML的方式,并且VS2008的母版嵌套特性。

    4.在这个框架中,URL将不再映射到ASPX文件,而是映射到一些控制类(controller classes)。所谓控制类,是一些不包含UI组件的标准类。

    5……NET MVC框架实现了System.Web.IHttpRequest和IHttpResponse接口,这使得单元测试能力得到了增强。

    6.在进行测试时,不必再通过Web请求,单元测试可以撇开控制器而直接进行。

    7.可以在没有ASP.NET运行环境的机器上进行单元测试。

相关内容
赞助商链接