欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【Web开发模式的颠覆者:ASP.NET MVC】,下面是详细的分享!
Web开发模式的颠覆者:ASP.NET MVC
2008年3月微软针对ASP.NET 3.5发布的MVC框架(Preview 2 版本)是一个真正意义上的ASP.NET MVC框架。至今,短短4个月内此框架已经发展到Preview 4版本。许多国内外业界人士称该框架为其前基于Web表单开发模式的历史性“颠覆”。本文站在对ASP.NET MVC框架与传统ASP.NET Web表单开发模式进行简明理论对比的角度对ASP.NET MVC框架的发展前景作出初步展望。
一、引言
一直以来,软件架构师们在开发软件的方法及架构方面争论不休。这样的一些典型的例子包括针对ORM与存储过程、REST与SOAP结构的讨论,等等。最近一段时间,在微软社区内又展开了一场有关ASP.NET Web表单与ASP.NET MVC框架的讨论。许多人认为ASP.NET MVC框架最后将会取代Web表单机制,而也有一些人坚持认为ASP.NET MVC框架未来不可能取代如今已经牢牢占据.NET平台上ASP.NET开发统治地拉的Web表单技术。那么,究竟ASP.NET MVC框架是否会取代Webforms呢?
值得注意的是,从一开始,微软的众多权威人士都一致表示:ASP.NET MVC框架仅仅将作为Web表单方案的一种可能的替代方案,而不会彻底取代它,而Web表单也不可能取代ASP.NET MVC。因此,真正的发展趋势将是:ASP.NET MVC与Web表单将共同存在,ASP.NET MVC决不会成为Web表单的取代者。所以,如果你比较喜欢ASP.NET MVC,你可以选择使用它;而如果你感到Web表单更易于上手,你也可以尽情地按照你的传统方式继续使用它。也就是说,两种途径都只是针对不同的选择、不同的方法而已,而提供给开发者不同的选择本身是一件好事,仅此而已。当然,不同的选择也完全可以应用于其他的平台,特别是另一块比较火的Java开发平台。
二、ASP.NET Web表单方案存在的问题
ASP.NET Web表单方案存在哪些方面的不足呢?Web表单的指导思想是把Windows桌面应用中的表单模型引入到Web应用程序的开发中。这种模型很快就吸引了大批的传统Windows桌面应用开发程序员,特别是以前的VB 6.0程序员。今天,许多VB 6.0开发者已经转到了ASP.NET Web开发领域,但是他们并没有基本的HTTP与Web基本知识。为了模拟传统型Windows桌面应用程序中的表单开发体验,Web表单引入了事件驱动的方法,而且还引入了Viewstate和Postback等相关概念。最终,Web表单技术知彻底地攻克了Web中无状态特征这个难关。随之而来的是,Viewstate和Postback带来了大量的问题,从而提高了Web应用程序开发的复杂性。例如,即使一些非常简单的Web页面也有可能产生大于100KB尺寸的Viewstate,这当然会在某些情况下严重影响系统的性能。此外,开发人员还无法控制Web表单生成的HTML;而且,ASP.NET服务器控件生成的HTML既混杂有内联方式也包含不符合标准的过时的标签。Web表单所带来的另一个问题是,与JavaScript框架的集成比较困难,这主要是因为生成的HTML的命名惯例所造成的。此外,Web表单相应的页面生命周期太复杂了,在整个ASP.NET框架中所有内容都是紧耦合型的并且仅使用一个类来负责显示输出和处理用户输入。因而,单元测试几乎是一项不可能的任务。而我们都知道,在现代软件开发中,特别是当我们遵循敏捷软件方法论及相应惯例开发软件时,单元测试是很重要的。既然Web是无状态的,那么,Postbacks和Viewstate就不会完美的解决方案。
以上所分享的是关于Web开发模式的颠覆者:ASP.NET MVC,下面是编辑为你推荐的有价值的用户互动:
相关问题:在java web开发中mvc开发模式中实现m、v、c分别使...
答:m(model)模型,代表的是数据库层,通常用到的是:oracle、db2、mysql等sql知识; v(view)视图,代表的是页面(相关),通常用到的是:html5、jsp,js等页面知识;c(Controller)控制,代表的控制器,通常用到一些框架知识,如ssh(struts,... >>详细
相关问题:asp.net mvc模式与asp.net webform模式
答:asp.net和asp.net相比而言,最大的有点在于所有的代码都是纯的HTML(相对而言,WebForm的容易生成冗余的垃圾代码(ViewState什么自动保存状态的))。同时MVC把代码和视图真正分开,这就意味着你的逻辑代码可以保持不变,只要修改视图界面然后设... >>详细
相关问题:MVC开发模式的优点?
答:MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
