Asp.Net WebForms与Asp.Net Mvc比较

一、Asp.Net Web Froms 优缺点

“Asp.NET Web Forms uses controls and an event-model for component-based development”:网页表单,用控件和事件模型的基于模块的开发方式

优点:

  • 入门简单,过渡平滑:为了让其他程序员有平滑的学习曲线,技术在提出时的倡导是入门简单。并且对桌面应用的开发习惯有所支持。
  • 快速开发:程序员关心的东西很少,一个人就很迅速的进行开发。
  • 基于控件:按钮,文本,文字,图片,菜单栏,时间标签等等。
  • 事件驱动:点击,鼠标动作,触发事件,使得网站顺利进行。

缺点:

  • 代码架构:所有代码的架构都放在了一起,以逻辑和页面为单位,平铺直叙,修改,长期维护成本高
  • 单元测试:WebForms将所有的逻辑放在了一起不太容易支持单元测试。而单元测试很主流,很重要,它保存一个很小的单元进行测试,保证每块代码都能有效的,正确的,健壮的,以后的维护、上线就变得简单。
  • Viewstate性能问题: 虽然Viewstate可以保留网页的状态,但是它太大,性能很差。
  • 重用性:页面逻辑太大了,相同的代码,光靠复制黏贴不现实,每次修改付出的代价很大。
  • 对HTML缺少控制:单看界面、模块看不出背后有什么,各种各样的模块掺杂在一起,显示是相互影响的。
  • 不适合团队开发:前后台很难同步实现,团队开发对同一个文件页面修改和维护,协调和同步困难,版本上也不好控制,即便是用了一些版本控制的软件,也控制不了大型开发。

为何要学习古典,传统的技术:

  • 如同苹果手机先进行了手机的简约化,又进行了APP的扁平化一样,知其然要知其所以然。

二、Asp.Net Mvc 的简介

“Asp.NET MVC values separation of concerns and enables easier test-driven development”:相当于将概念分隔开,更简单快捷的进行TDD(测试驱动开发)。

M、V、C:

  • M :Model 数据的模型,与数据源打交道,程序,网站与数据打交道
  • V :View 展示页面
  • C :Controller 逻辑处理(p、VM)

变形:

MVP(微软的另一种技术的称呼)、MVVM(应用于手机开发)

建立MVC项目:Web site or Web Application

  • Web Site:部署后需要哪段代码,编译哪段,以后的维护直接修改界面。
  • Web Application:统一编译,统一部署,修改维护时要重新编译生成DLL。与普通项目的区别是多了confing文件的编译。
    网页调试 debug F5 进断点,Ctrl + F5 不进断点。

优点:

  • 逻辑分离:修改页面可以不修改后台数据、逻辑等。
  • 容易测试:逻辑完成提取到Controller里,直接对Controller进行测试。
  • 开发的主流:这种模式是最常见最主流的,可以很容易理解其他项目,很容易上手其他项目程序,见到其他项目则似曾相识

你可能感兴趣的:(.Net)