百科问答小站 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#需要学好C++么? 
  PHP的未来在哪? 
  为什么微软.NET,C#在美国,英国等国外都非常流行,而在国内却逐渐没落? 
  Asp.net是直接学asp.net mvc还是先学web form? 
  怎么回答面试官的题目:你是怎么理解 http? 
  关于C#异步编程Task的一个疑问? 
  学C#需要学好C++么? 
  在知乎,Java 相对于 C# 来说是不是被过分贬低了? 
  游戏程序员必须要修 C# 吗?我徘徊在先开始 C++ 还是 C# ? 

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





© 2024-05-19 - tinynew.org. All Rights Reserved.
© 2024-05-19 - tinynew.org. 保留所有权利