百科问答小站 logo
百科问答小站 font logo



asp.net MVC 和Web Form 相比各有什么优缺点? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

这两个东西是两个维度上的玩意儿,所以不能直接比较。


目前的ASP.NET经过几十年的发展分成了逻辑层和表现层两套独立的演进,不算ASP.NET Core和WebAPI的话,大体上是两套表现层模式,两套逻辑层模式,两两组合有四种实践。

两套表现层是WebForm和WebPages。

两套逻辑层是基于模块的模式MVC和基于页面的模式。

最流行的是MVC+WebPages(也就是Razor)。但是也有基于页面+WebForm(也就是最原始的WebForm模式),基于页面+WebPages和MVC+WebForm(传统MVC模式)


其实表现层没啥好说的WebPages更接近PHP的风格,即内容杂凑式(数据绑定逻辑、代码逻辑和HTML杂凑在一起)。WebForm更接近WinForm也就是控件风格,尽量用控件来隔离HTML。其实从理论上来说控件模式更干净,更先进。包括前端框架也是会自造控件来简化问题。但是微软的问题就是封闭,有些东西完全可以开放出来偏不。结果就是互联网的失利也直接拖死了WebForm(因为没有掌握HTML标准话语权,过于沉浸于自己的控件规范和标准,完全不把这些和HTML规范结合和推动)。想想看为什么前端控件框架不愿意做成WebForm自定义控件?


最后我们来看看基于模块的MVC模式和基于页面的模式到底有什么区别?

MVC模式的思想是,一个功能模块是由多个页面,多种UI协同实现的,这个里面,Model是核心。基于页面的模式基本思想是,业务逻辑是基于交互页面来设计的,这个里面,页面是核心。这两种思维,一个适用于面向互联网用户的多样化交互设计。一个适用于面向企业管理用户的标准表单交互设计。应用场景不同并无优劣之分……

当然,尽管四种组合都可以使用,但实际应用中,因为历史和设计原因,MVC+WebForm和基于页面+WebPages两种模式都会在功能上有一定的受限。


当然了,这十几年间发生了很多事情,IE死了,前端从IE的大一统时代,经过了混战时代,最后进入了Google主导的WHATWG标准的新的大一统时代。前端框架和脚本也摆脱了JavaApplet和SilverLight以及Flash的阴影,成为了可以独当一面的存在,前后端分离已成事实标准。

但未来会怎样,我们不得而知。我预计WebServer的服务器技术在未来将并入前端技术栈,后端将彻底从数据绑定中脱离出来,彻底放飞自我,解决新的问题……




  

相关话题

  如何评价微软新推出的 .NET 5? 
  C#异步方法返回Task的意义是什么?完整的TAP代码是什么结构? 
  c# .net core 相比 java spring,如何选择? 
  如何评价即将发布的 C# 9.0? 
  .NET 下的性能问题如何定位? 
  有没有什么工具可以帮助理解源代码的? 
  ASP.NET MVC 如果全部用异步 Controller,会有什么效果?会成为高吞吐量,高并发的网站么? 
  用asp.net做网上竞拍系统,在客户端显示当前价格应该怎么实现?大大们给个思路就好 
  很多人都说 C# 语法怎么优雅,仅仅是因为 C# 的关键字多吗? 
  为什么微软.NET,C#在美国,英国等国外都非常流行,而在国内却逐渐没落? 

前一个讨论
FPS游戏中,在玩家的延时都不一样的情况下是如何做到游戏的同步性的?
下一个讨论
「魏王雅望非常,然床头捉刀人,此乃英雄也」曹操听到这话后为何要追杀使者?





© 2025-02-20 - tinynew.org. All Rights Reserved.
© 2025-02-20 - tinynew.org. 保留所有权利