ASP.NET MVC还是WEBFORM哪个更能体现编程的快感?

snoopy83101 2010-01-11 02:23:57
一个复杂的大型网站项目,哪种架构更有优势呢?

假如现在要建立一个ASP.NET环境的网站(比较大的,数据比较复杂的),是招聘选择ASP.NET MVC领域的技术人员还是ASP.NET WEBFORM的技术人员?

ASP.NET MVC的优势在哪里? 之前从事ASP.NET WEBFORM开发的如果想从事MVC开发是否可以快速入门呢?

...全文
9843 55 打赏 收藏 转发到动态 举报
写回复
用AI写文章
55 条回复
切换为时间正序
请发表友善的回复…
发表回复
jAmEs_ 2012-10-24
  • 打赏
  • 举报
回复
新手,真是麻烦,看来各有各说法
flyforfei 2012-08-27
  • 打赏
  • 举报
回复
学了两个月MVC3,还是做不出一个像样的基本的数据查询系统,jquery实在太深奥了,一段现成的代码拿过来用还要测试半天。
虽然mvc的原理很简单,就是M到C到V,V到C到V。。。。但是离开了js,MVC有法看吗
ahking 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 zzxap 的回复:]

webform 用repeater 也可以很好控制每一个细节的样式。
webform的速度要比mvc的要快点,新手上手也快。
webform 用js ajax 可以完全不用net 的控件
mvc 也不错
[/Quote]


你是指运行速度还是开发速度
cm178 2012-03-16
  • 打赏
  • 举报
回复
呵呵,我现在才遇到这样的问题!!
不知道招什么样的人……
lushizhu 2011-11-02
  • 打赏
  • 举报
回复
感觉ASP.NET MVC有点像JAVA 的jsp+servlet+javabean
jianpingdu2009 2011-07-28
  • 打赏
  • 举报
回复
.net的东西就像是7.23动车事故的通信号系统一样,东拼西凑,终究难以服众!
jianpingdu2009 2011-07-28
  • 打赏
  • 举报
回复
我,一个java开发人员,算是熟手。近段时间,用.net开发。对手机开发略懂一二。对于.net我不想多说。java的MVC是一两个软件产品就可以实现的吗?DNN说实话很优秀,可是效率极低,慢的叫人恶心,你们不觉得吗?原因是什么?是因为从page到usercontrol都有生命周期,控件套控件,每一次页面刷新都要重来,这事无法容忍的。而.net开发从来就不能激发人的灵感,开发人员往往是从一套一套的开源产品中过来的,包括控件,束缚性真大,性能低下。从外表开来,.net过于急功近利了,往往是通过作出一套产品来证明自己。MVC之所以产生,即使因为微软的战略错误导致的。web应用的本质就是前台全部是js,后台处理结果-数据库操作。看见google了吗?js很强大的。这才是web的本质。未来的云计算是不能容忍如此效率低下的平台的。看看Orchard 吧!而且,.net对于对象的概念过于追求了。什么都要封装。为什么?难道就要证明自己是纯对象编程吗?我是不知道。甚至从request response都要封装,既然这样,那我如何进行灵活性扩展呢?MVC3.0居然是继承control,还是把request response封装了,竟然要把MVC的思想表现在文件夹中,太可笑啦。
lukywong 2011-07-12
  • 打赏
  • 举报
回复
mvc有快感
随智阔 2011-05-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 webdiyer 的回复:]
我做asp.net开发八年了,两年前asp.net mvc preview版发布的时候就开始使用asp.net mvc了,两年来接手的项目都是用asp.net mvc做的,asp.net mvc对我这样从不用VS的设计器而只用源代码编辑器手工编写html代码的人来说,最大的优势就是你可以完全控制最终要呈现的html,不会有任何多余的东西。另外asp.net 的bindings做后台非常方便,无需一……
[/Quote]

高手啊。。。我不知道写控件的步骤呢。
zzxap 2011-05-02
  • 打赏
  • 举报
回复
webform 用repeater 也可以很好控制每一个细节的样式。
webform的速度要比mvc的要快点,新手上手也快。
webform 用js ajax 可以完全不用net 的控件
mvc 也不错
csalenhlp 2011-03-29
  • 打赏
  • 举报
回复
MVC框架10几年前的思想,过期了。
WEBFORM 还可以优化,运用。
未来的趋势就是细化同时集成。
qjy5277 2011-01-30
  • 打赏
  • 举报
回复
MVC增删查改谁说要1小时的我MVC WEBFORM都用过MVC速度更快如果你对前台JS CSS 不行的话那就学不好
LamyWaWa 2010-12-29
  • 打赏
  • 举报
回复
对于MVC来说,部署上出现了3/n tier的物理分层,也就是在物理服务器上把M层v层c层部署在不同服务器上,从这点来说,只有MVC项目才能做到,用WebForm直接是很难做到的。

部署大规模应用的情况下MVC体现了很强的扩张能力

对于一般应用来说MVC和WebForm都可以做,但是用MVC可以做更大的应用,这方面考量不仅仅是开发上的
包括引入单元测试,以及部署的分散。我想这也是微软在WebForm这么好用的情况下还强推MVC的道理。

这个是鄙人的观点,如有雷同纯属巧合。
sunssaa 2010-12-13
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 szjohnz702715 的回复:]
当然我不是批判MVC,更不是反对MVC,实际每样东西被创造出来都有其用途,而不是简单的说谁取代谁,对于用户数在数千以下,优先选择的是使用WEBFORM,即使有许多分公司,也可以用ADSL或VPN链接起来,WEBFORM的开发速度是MVC无法比拟,一个增删改查,用WEBFORM几分钟就完成,而用MVC可能会在一个小时以上;对于开放式互联网,如超多人访问,用户数过万,则用MVC比较好,带宽要求与生成的……
[/Quote]
严重支持这个观点,我以前也持同样的态度,要追求编程去干汇编 C/C++,没事就自己琢磨点数据结构跟算法。
做到应用编程就纠正心态,适合得能实现的就是一种快感
hpwhuang 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 43 楼 szjohnz702715 的回复:]
当然我不是批判MVC,更不是反对MVC,实际每样东西被创造出来都有其用途,而不是简单的说谁取代谁,对于用户数在数千以下,优先选择的是使用WEBFORM,即使有许多分公司,也可以用ADSL或VPN链接起来,WEBFORM的开发速度是MVC无法比拟,一个增删改查,用WEBFORM几分钟就完成,而用MVC可能会在一个小时以上;对于开放式互联网,如超多人访问,用户数过万,则用MVC比较好,带宽要求与生成的……
[/Quote]

说得好,支持。
szjohnz702715 2010-09-15
  • 打赏
  • 举报
回复
当然我不是批判MVC,更不是反对MVC,实际每样东西被创造出来都有其用途,而不是简单的说谁取代谁,对于用户数在数千以下,优先选择的是使用WEBFORM,即使有许多分公司,也可以用ADSL或VPN链接起来,WEBFORM的开发速度是MVC无法比拟,一个增删改查,用WEBFORM几分钟就完成,而用MVC可能会在一个小时以上;对于开放式互联网,如超多人访问,用户数过万,则用MVC比较好,带宽要求与生成的页面大小会比WEBFORM少。
不敢苟同的是以上所谓的编程快感,并不是从底层做起、或了解每个细节才有编程快感,并不是每个人都需要去发明或创造。看电视的观众、甚至是专业演员,不需要去关心节目信号是怎么发送到每个家庭的电视机里并转换为图像。不要把所有编程人员误导其去做科学家,实际上要了解细节,只了解HTTP协议还不足够,还有TCP/IP、路由器、交换机传输等协议也需要了解,一个人去穷一生精力能把所有都办到吗?不要为喝一杯牛奶而养一头奶牛,那只是为了表现自己而误导别人。
szjohnz702715 2010-07-18
  • 打赏
  • 举报
回复
楼上的误解了编程的意义,有方便的WEBFORM为何不用?微软花这么多人力物力弄出来的WEBFORM并不是吃素的,MVC不是微软都有,其实是为J2EE而设计的,要成就感、要快感,不要用VISUAL STUDIO,用NOTEPAD最有成就感,不要用C#了,用汇编或直接手工写“0,1”代码会更有快感!
当然有人会说用WEBFORM不会真正了解HTTP协议细节,用MVC才可以,请问你用C#时在不同的.NET FRAME了解过具体的执行细节吗?请问这需要了解吗?你的硬盘可以装数百GB的数据,请问你需要了解它把哪些数据放到哪些扇区吗?
jacklikeaccp 2010-06-13
  • 打赏
  • 举报
回复
最近刚开始学asp.net MVC,个人觉得还是一个很不错的东东,虽然和webform有很大的不同,但是上手容易,做起开发来,效率会更高一些,尤其是MVC可以方便的进行单元测试。下面是我写的总结,希望对大家有用:
MVC是什么,有哪些优点
webForms之后推出的一个新的开发模式
MVC模式是上世纪70年代末提出的,发展到今天日趋成熟,
表现模式(UI/Presentation Pattern)
三种角色
-Model:用于存储数据的组件
-View:根据Model数据进行内容展示的组件
-Controller:接受并处理用户指令(操作Mode),选择一个View并输出内容
图(协作):

MVC两种分离:
View和数据分离
-能够为相同的Model开发不同的View进行展示
-分离可视与不可视的组件,能够对Model进行独立测试(只有View到Model的 单向引用)
View和表现逻辑(Controller)分离
-分离逻辑和具体展示能够对逻辑进行独立测试(只有Controller到View的单向引 用)
三层架构是架构模式,层层依赖(一般情况下是单向依赖);MVC是表现模式(组件之 间的协作关系)

WebForms VS ASP.NET MVC
*WebForms的优点
-将web开发抽象成一个组件模式
-使用方便,入门容易
-控件众多
*WebForms的缺点
-封装太强
-入门容易,用好难(复杂的事件,复杂的生命周期)
-不容易进行单元测试,前后台不易配合(MVP模式可以解决)
MVC的优点
-直接
-易于对界面逻辑进行单元测试
-易于前后台开发人员的配合

MVC有哪些新特性
直接,Web开发就是Web开发
能够对界面逻辑(Controller)进行单元测试
易于前后台配合,对前台展示没有太多控制
一切都是可替换的
-ViewEngine视图引擎
-Action Filter
一切都是可测试的
公开源代码
-可以修改
-不可重新发布
MVC带来的变化
1.服务器端表单控件。
由于ASP.NET MVC的特质,服务器端的表单控件不再被提倡使用,例如我们的文本框,不再使用asp:TextBox,而是使用传统的input,或直接让Html.TextBox生成。总之,很多服务器端控件被我们废止了。甚至GridView这样曾给我们带来无限快感的老朋友,也不再被提倡使用。但是,并不是说不能用任何服务器端控件,例如,为了实现母版,我们的ContentPlaceHolder还是必须要使用的。 2.事件驱动模型。 既然服务器端表单控件已经不提倡使用了,事件驱动模型自然也不被提倡,两者本来就是相辅相成的。在ASP.NET MVC中,当某个按钮被点击,你不要再习惯性想到应该在相应的aspx.cs中有个时间处理方法,你应该想到的是该有某个Controller中有个Action来处理这个事件。实际上,在ASP.NET MVC中,提倡不要在aspx.cs中写任何逻辑代码。甚至应该当他们不存在。 3.数据绑定 对于列表式表格数据,你一定习惯了GridView的数据绑定,可是,从你使用ASP.NET MVC开始,这不在被提倡了。你应该自己处理数据的显示。当然,我们也可以期待未来的ASP.NET MVC正式版中会有一个强大的Helper来帮我们做数据显示。
MVC优点
简介的HTML:最终生成的 HTML代码完全由自己控制,不会生成任何“垃圾代码”;
更快的服务器端处理和客户端呈现:MVC只简单地处理“模板”,而无需构建复杂的控件树,因此,无论是在服务器处理的时间,和客户端的呈现速度都会有所提高;
为多种视图只需一种模型:有时候一个页面要显示的数据是同一个,但表现形式有细微的差别,此时只需要修改视图部分,可以采用现有的控制器行为;
单元测试:Webform的测试是很困难的,使用MVC,可以将业务逻辑与页面分离开,可以不在ASP.NET进程中执行控制器,方便测试
linyixiang 2010-04-18
  • 打赏
  • 举报
回复
随便说一下,mvc和webform技术本身就不一样,并且微软也不是乱出东西那些小孩子不懂事,自己还是专心学一下技术就知道了
linyixiang 2010-04-18
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 webdiyer 的回复:]

引用 22 楼 sp1234 的回复:
高级编程的快感,是写出控件从而让别人不用编程只要用鼠标拖一拖、设置一下参数就拼凑出复杂应用。
一直佩服sp1234的心直口快、观点独到,但以上看法严重不敢苟同。如果只拖几个控件,设几个属性就能拼凑出复杂的应用,那连编程的体验都没有了,何谈快感?其实楼主说的快感,我觉得就是所谓的成就感吧,现在编程技术封装得越来越厉害,任何人不用经过多长时间的学习,都可以随……
[/Quote]
主要编程工程的发展,软件产业的发展注定是先前发展的,从soa的编程思想不知道你有没有听说过,普元公司已经开发出比较的产品了,就好象原来汇编的人说我们高级语言的人一样,但是历史的脚步是这样发展的。
加载更多回复(35)

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧