百科问答小站 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的服务器技术在未来将并入前端技术栈,后端将彻底从数据绑定中脱离出来,彻底放飞自我,解决新的问题……




  

相关话题

  高版本C#语法写的代码能够编译为低版本.netframework的代码吗? 
  如何评价C# 6的新特性? 
  独立开发先写前端还是先写后端? 
  学java是不是只能做网页开发? 
  asp.net mvc FormsAuthenticationTicket 如何防御cookie胁持? 
  .net开发都有哪些容易入手,轻量级的框架? 
  .NET类库中HashCodeHelper的实现原理是什么? 
  如何自学 .NET Core,怎么学习才好? 
  网游通信协议如何防止封包篡改? 
  asp.net MVC 和Web Form 相比各有什么优缺点? 

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





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利