我刚刚开始学习ASP.NET MVC框架,它在体系结构上与常规ASP.NET开发非常不同。从windows窗体到WPF的转换非常好,似乎是技术上的一条前进之路。但是,当我学习ASP.NET MVC时,我的感觉就不一样了,我无法让自己相信MVC比WebForms更好。他们似乎对已有的web框架做了一些调整,并采用了其他语言的MVC架构。
ASP.NET MVC在开发方面是否领先?我应该在这个平台和架构的基础上学习和开发我未来的项目吗?在我看来,这就像是微软在WPF或复制Rails的同时推出了一个新的架构。WPF看起来很有前途,而且很棒,而ASP.NET MVC只会让你感到困惑--一些碳化硅。他们已经删除了控件,抛出了一个新的控制系统和数据打包,所有这些都是对WebForms的极端改变。
我意识到,使用MVC,您在测试方面有很大的自由度,但我不认为这在小网站或项目中有很大的不同。如果您忽略了测试的价值,那么您对此有何看法?
发布于 2011-08-14 08:41:41
我个人的观点是,ASP.NET MVC是前进的一步。
Windows有一些优点,主要是因为您使用事件基方法进行编程,就像在Windows中那样。如果你是用Windows窗体编程的话,你肯定是在家里。您还编写了尽可能少的HTML/CSS/Javascript。但是,您也有一些缺点,因为即使代码后面仍然直接耦合到显示逻辑,.还有ViewState/PostBack?说得够多了(这是必要的,但真是一团糟.)
我可以在这里写一个很长的比较,但我给你这个链接,它画了一个比我在这里更详细的比较,它很好:http://coderjournal.com/2008/12/introducing-aspnet-mvc-part-2-aspnet-mvc-vs-webforms/
我要补充的是,由于ASP.NET MVC与显示逻辑是解耦的,您可以使用不同的呈现引擎(Razor是很棒的IMHO),请查看维基百科信息。
发布于 2011-08-14 08:41:07
如果有机会的话,我肯定会选择ASP.NET MVC而不是“经典”ASP.NET。
当然,在Ruby中有很多类似于你在Rails (或者现在大多数的ASP.NET web框架中)找到的东西,但这并不是一件坏事--一旦你掌握了它的诀窍,控制器的路由和控制器与视图的分离实际上是一种很好的工作方式。
通过使框架与WWW的实际工作方式保持一致,而不是试图将正方形钉塞到圆孔中,并将“有状态”模型强制放到无状态协议上(就像“经典”ASP.NET所做的那样),它放弃了ASP.NET所拥有的所有可怕和漏洞百出的抽象。
你应该学习ASP.NET MVC而不是WPF吗?我不知道,这算是个合理的选择吗?您当然不能在所有的地方使用ASP.NET MVC工作(反之亦然),所以我认为您不应该学习一个,而不是另一个.
发布于 2015-09-20 08:04:34
ASP.NET MVC通过将应用程序划分为模型、视图和控制器,使其更容易管理复杂性。
ASP.NET MVC不使用视图状态或基于服务器的表单。这使得MVC框架对于希望完全控制应用程序行为的开发人员来说是理想的。
Web使用前端控制器模式,通过单个控制器处理ASP.NET应用程序请求。这使您能够设计支持丰富路由基础结构的应用程序。
ASP.NET MVC为测试驱动开发提供了更好的支持。
Web适用于大型开发人员支持的ASP.NET应用程序,也适用于需要对应用程序行为进行高度控制的ASP.NET设计人员。
来源:ASP.NET MVC与Web的优势
https://softwareengineering.stackexchange.com/questions/100973
复制相似问题