设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

[译]WebForms vs. MVC

2013-9-10 10:35| 发布者: 红黑魂| 查看: 3135| 评论: 0|原作者: 滴答的雨 |来自: 博客园

摘要: 原文示例(VS2012): 1. Download Simple WebForm demo - 6.7 KB 2. Download Simple MVC Demo demo - 1.5 MB 介绍 我做为一名ASP.NET开发人员已经有很长时间了,并且我非常乐意使用ASP.NET Web Forms开发web应用 ...

8.         什么是ASP.NET MVC



ASP.NET MVC是微软发布的,用于设计低耦合、可测试的web应用程序框架,它是基于CLR和成熟的MVC架构构建的。ASP.NET MVC不支持ViewState和服务器控件,所以你可能认为又回到了麻烦的原生web应用程序开发。但不是,让我们来讨论下ASP.NET MVC框架的优缺点:

 

优点:

1)         项目架构

ASP.NET MVC架构降低了程序间的耦合性,即M(model)V(View)C(Controller)。如图:



2)         测试驱动开发和重用性

a)         MVCController,是一个独立的类,所以支持测试驱动开发。

b)         MVCController,不绑定任何特定的View,所以能重用于多个View




3)         性能

ASP.NET MVC框架不支持ViewState,所以不会有自动状态管理机制,从而降低了页面传递的尺寸,提高了程序性能。

4)         完全的HTML控制

ASP.NET MVC 不支持服务器控件,唯一的选择是使用客户端输入控件,这样我们能完全控制最后展现的html。所以ASP.NET MVC 架构能很容易的与第三方JavaScript库(egJquery)集成开发。

5)         支持并行开发

ASP.NET MVC架构中的各层是松散耦合的,所以一个开发者在开发Controller的同时第二个开发者开发View并且第三个开发者开发Model。这就是所谓的并行开发。

6)         SEOURL重写和REST

丰富的路由规则让每个URL被视为一个资源,支持RESTful



同时,用户用好的、可读的URL能改善SEO

7)         可扩展的

ASP.NET MVC支持多种视图引擎,egaspxrazor,如果需要还能开发自己的视图引擎。

8)         继承ASP.NET特性

ASP.NET MVC框架构建在成熟的ASP.NET框架之上,所以提供开发者很多好功能,如表单验证、windows身份验证、缓存、会话等等。

缺点:

1)         提高了学习成本

没有事件驱动编程模型和视图状态,使得对于缺少web应用开发经验的开发者来说很难上手。

 

9.         ASP.NET MVC 是如何工作的?




1)         用户通过浏览器URL向服务器请求一些资源。(GET请求)

2)         路由引擎首先将这个请求传递给对应的Controller

3)         如果需要持久化数据,Controller就从Model中获得数据。

4)         Model访问数据库数据(或其它一些数据资源)并返回数据给Controller

5)         Controller将选择适当的View

6)         Controller将数据(第四部获取的model)传递给页面(第五部获取的view),数据将填充到页面的指定位置。

7)         ControllerView返回并呈现给用户。

 

这是一个GET请求,POST请求的流程类似。唯一不同的是:不是通过在浏览器中输入url触发,而是在页面上做一些操作(eg:点击按钮、改变下拉选项等等)来触发POST请求。

 

10.     什么是ASP.NET Web Forms框架以及什么是ASP.NET MVC框架?

哪一个才是“最佳选择”?特定的解决方案依赖于应用程序的需求和团队成员的技术背景。当你面临必须在 ASP.NET Web Forms框架 ASP.NET MVC框架中选择一个的时候,你要明白最重要的权重不是技术,而是其他的。当你做选择时,你需要考虑的两个重要因素:

1)         快速应用程序开发

如果你想快速开发任何web程序,那么ASP.NET Web Forms框架是你唯一的选择,你甚至无需考虑如何让 ASP.NET MVC框架快速开发程序。(选择ASP.NET Web Forms框架的原因:需求为快速开发的程序,客户一般不会支付太多money;或者应用程序只使用一、俩个月并且不再需要继续维护的项目)

2)         单元测试

如果自动单元测试对你来说非常重要,那么最好选择ASP.NET MVC框架

 

除了这些,你能做的是:写下你的项目需求并试图比较ASP.NET Web Forms框架 ASP.NET MVC框架的优劣。如果可能,就尝试问自己下面这些问题:

1)         你的团队是否在Web Forms框架或Windows Forms框架上拥有丰富的开发经验?

如果是,那么学习ASP.NET MVC框架对于团队来说可能是一项乏味的任务。因为开发者已经习惯使用ViewState和事件驱动的编程模型,思维的改变将是一个困难的任务。------ Web Forms框架获得一票。

2)         你的团队是否在ASP.NET MVC框架上拥有丰富的开发经验?

如果是,请选择MVC框架。------ ASP.NET MVC 框架获得一票。

3)         你的团队是否在ASP或非微软技术(如androidiosjsprorphp等)上拥有丰富的开发经验?

如果你曾使用过JSPASP,你可能熟悉HTTPgetpost请求,甚至你可能手写过使用MVC模式的代码,因为这些技术当中大部分都默认使用MVC模式。------ ASP.NET MVC 框架获得一票。

4)         是否会大量使用JavaScript

如果是,选择MVC框架更合适,因为它能完全控制页面的HTML------ ASP.NET MVC 框架获得一票。

5)         寻找更好的性能

不支持ViewState机制的 ASP.NET MVC 框架比ASP.NET Web Forms 框架能提供更好的性能。ASP.NET MVC 框架获得一票。

6)         计划重用相同的输入逻辑

如果是,请选择MVC框架。------ ASP.NET MVC 框架获得一票。

 

结论

我认为你应该准备充分的信息来决定什么最适合你的项目。最后的决定取决于你的团队和你的项目需求。

         希望你喜欢这篇文章,谢谢你的耐心阅读。

 

哈哈哈,翻译到此结束,好文还请多帮推荐…推荐。

 

原文作者:Marla Sukesh

原文链接:http://www.codeproject.com/Articles/528117/WebForms-vs-MVC


作者:滴答的雨
出处:http://www.cnblogs.com/heyuquan/


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部