通过HTTP方法与资源地址的重组就足以对资源执行相应的操作,这种结合就是REST

    
6)低可测试性:WebForm的这种紧耦合连串布局并不合乎于单元测试,对于集成测试也很富有挑战性;

     此图的含义是WebForm建立在ASP.NET之上,而ASP.NET又建立在.NET平台之上,MVC框架所起的效率是代表WebForm。

参考资料:《了然ASP.NET MVC X》

  • WebForm的价值观是,UI应该是状态化的,其结果是,在HTTP和HTML之上添加一个抽象层,用视图状态(ViewState)和回发(Postback)来创立状态化的效劳。那是一种“拖放”式Windows
    Form风格的付出。
  • MVC接纳了HTTP真正无状态的面目。MVC框架要求用户知道Web应用程序实际的做事章程,在掌握的前提下,举行维护和扩大,提供一种功效强大、简单的、整洁的、现代的艺术来编排Web应用程序,摆脱复杂的限制。
  • 新匍京视频在线,由此说,开发小型的,公司内部型应用程序,可以考虑选用WebForm的点子来兑现,但更多的时候,开发互联网应用程序或者大型的应用程序时,MVC无论从效能、兼容性、维护性都是一种更好的挑选。

    
2)整个软件行业向着敏捷与测试驱动开发方向的前行,如单元测试工具(NUnit、xUnit)、模仿框架(Moq、Rhino、Mocks)、控制反转容器(Ninject、AutoFac)、持续集成服务器(CruiseControl、TeamCity)、对象关系映射器(NHibernate、Subsonic、EF、Dapper、Petapoco)、UI自动化工具的提供。(测试驱动开发TDD思想:首先描述想要拿到的行事范例,称为测试规范;然后开展软件设计,这样经过实施依附于这一直彻的一套测试,来表明应用程序的祥和和不错

     5)有通病的纸上谈兵:WebForm试图尽量隐去HTML和HTTP(这是经过WebForm的空洞层实现的)。当你实现团结的艺术时,需要屏弃这种肤浅,迫使选用回发事件机制的逆向工程。所以这种肤浅对于开发者而言就结成一个庞然大物的阻碍和挑战;

         
c、用接口或者抽象基类的一个新的贯彻来完全替换该零件;

     2)可扩展性,MVC框架被构建成一多重独立的零部件,如路由系统、视图引擎、控制器工厂,你可以很容易地用一个温馨的不比实现来替换这多少个组件,平常有二种采用:

    
2)可扩充性,MVC框架被构建成一体系独立的零部件,如路由系统、视图引擎、控制器工厂,你可以很容易地用一个要好的两样实现来替换这些零件,平时有两种拔取:

参考资料:《了然ASP.NET MVC X》

    
5)有欠缺的虚幻:WebForm试图尽量隐去HTML和HTTP(这是透过WebForm的抽象层实现的)。当您兑现自己的艺术时,需要丢弃这种肤浅,迫使采用回发事件机制的逆向工程。所以这种肤浅对于开发者而言就整合一个大幅度的拦Audi和挑衅;

          c、当领悟URL地址的社团后,人们才会更有可能链接它,并向其别人共享;

    
5)强大的路由系统,采纳REST风格的路由方案,有如下好处:

现阶段的Web应用程序不只是提供HTML服务,平日也亟需将XML或JSON数据提供给用户,而WebForm很难支撑。

    
2)页面生命周期:连接客户端与劳务器端事件处理器代码的体制很复杂,对于应用程序运行期间很难展开保障;

     4)HTML的受限控制:服务器控件将协调渲染成HTML,但并不是所企盼见到的HTML,在ASP.NET
4在此以前,并不可能很好的使用CSS。同时会生成不可预知或复杂的ID,这样JavaScript就很难展开走访。

    
1)REST(Representational State
Transfer)已经变为应用程序在HTTP上互操作的首要系列架构,完全使SOAP失色。REST是按照代表真实世界实体的资源(URI)和象征在那么些资源上可用的正式操作方法(HTTP方法)来叙述一个应用程序。经过HTTP方法与资源地址的组合就可以对资源执行相应的操作,这种重组就是REST,执行这种操作的请求也叫做REST化的乞请。(对于REST的明白个人如故不透彻,前边会对此概念进行补缺)

     1)REST(Representational State
Transfer)已经变成应用程序在HTTP上互操作的紧要系列架构,完全使SOAP失色。REST是基于代表真实世界实体的资源(URI)和表示在这么些资源上可用的科班操作方法(HTTP方法)来描述一个应用程序。由此HTTP方法与资源地址的组合就可以对资源执行相应的操作,这种重组就是REST,执行这种操作的呼吁也号称REST化的呼吁。(对于REST的知情个人依旧不透彻,后边会对此概念举行填补)

现阶段的Web应用程序不只是提供HTML服务,通常也需要将XML或JSON数据提供给用户,而WebForm很难支撑。

4、ASP.NET MVC与ASP.NET WebForm的比较

    
此图的意思是WebForm建立在ASP.NET之上,而ASP.NET又另起炉灶在.NET平台之上,MVC框架所起的法力是代表WebForm。

 

         
d、此种URL结构并不会将应用程序的技术细节、文件夹、文件名称等协会显露给互联网。对于底层实现可以自由修改,而不会破坏链接;

     ASP.NET WebForm的技艺堆栈,如下图所示:

3、ASP.NET
MVC的特点

     ASP.NET
MVC是微软公司的一款WEB开发框架,整合了“模型-视图-控制器”架构的敏捷与卫生,是很快开发最现代的沉思与技术。它是观念ASP.NET
WebForm的一个圆满的替代品。

    
1)视图状态重负:维护状态的实际机制,也就是ViewState(视图状态)导致在客户端与服务器之间传输大块数据(达到几百KB),而且来回于每一次请求之间,导致响应时间很慢,扩展了服务器的带宽需求;

     4)可测试性,ASP.NET
MVC应用程序不仅可以展开单元测试,还足以与UI自动化测试工具突出合作。

         
b、许多Web用户现在对URL有充分的会心,并且愿目的在于浏览器的地方栏目中输入URL地址;

          b、派生默认实现的一个子类,以调整其一言一行;

  • WebForm的历史观是,UI应该是状态化的,其结果是,在HTTP和HTML之上添加一个抽象层,用视图状态(ViewState)和回发(Postback)来创制状态化的效劳。这是一种“拖放”式Windows
    Form风格的开销。

  • MVC采取了HTTP真正无状态的面目。MVC框架要求用户知道Web应用程序实际的做事章程,在知道的前提下,举行珍视和扩大,提供一种效率强大、简单的、整洁的、现代的模式来编排Web应用程序,摆脱复杂的限定。

  • 从而说,开发小型的,公司中间型应用程序,可以考虑选用WebForm的艺术来实现,但更多的时候,开发互联网应用程序或者大型的应用程序时,MVC无论从效用、兼容性、维护性都是一种更好的挑选。

2、ASP.NET WebForm的历史与题材

    
3)关注分离的错误看法:本身将代码从HTML提取出来,放到后台代码类中进行拍卖是很一种很好的点子,然而部分开发者在后台代码师长突显代码与行使工作逻辑混合在共同,导致最终代码混乱并难以维护;

     3)顺应Web标准和REST化的趋势。

         
b、派生默认实现的一个子类,以调整其一言一行;

3、ASP.NET MVC的特点

1、当今的Web开发

     3)关注分离的错误观点:本身将代码从HTML提取出来,放到后台代码类中进行拍卖是很一种很好的点子,不过有些开发者在后台代码中校突显代码与应用工作逻辑混合在一道,导致最终代码混乱并难以保障;

    
ASP.NET WebForm的技巧堆栈,如下图所示:

     乘机年华的延期,WebForm在其实项目中冒出了一部分瑕疵:

    
WebForm的筹划思想是,让Web开发在感到上与Windows
Form开发相同。开发者不再需要以一多元独立的HTTP请求与响应进行工作,可以认为它是一种状态化的UI,人们得以淡忘WEB及其无状态本质,转而用一种“拖–放”式设计器来成立UI,并考虑所有事务都暴发在服务器上。

     3)HTML和HTTP上的严密控制,ASP.NET
MVC会爆发整洁与正规分外的符号,其置于的HTML协助器方法,可以生出与正统非常的输出。ASP.NET
MVC生成的页面不分包其他ViewState数据,这种对带宽的节约,可以极大的改进用户的感受,并且可以对浏览器与服务器之间传递的请求加以控制。

    
新匍京视频在线 1

     6)建立在ASP.NET平台之上,一方面ASP.NET
MVC是基于.NET平台的,因而可以灵活的应用任何.NET语言来编排代码,可以应用大规模的.NET类库和大气的第三方.NET类库类别;另一方面,已经形成的ASP.NET平台特色,如认证、成员、角色、配置文件、国际化等足以削减开支和维护Web应用程序所需要的代码量。

4、ASP.NET
MVC与ASP.NET WebForm的比较

     1)ASP.NET
MVC框架实现了MVC形式(MVC形式在1978年就已经指出来了),由于ASP.NET
MVC极大的改善了关怀分离,所以特别适用于Web应用程序。因为与MVC应用程序的并行坚守着用户动作与视图更替的自然周期,在这多少个周期中,如果视图是无状态的。这与帮忙Web应用程序的HTTP请求与响应措施丰裕适合。

    
乘胜时光的延迟,WebForm在实质上项目中冒出了一些弱点:

          a、使用组件现行的默认实现,此种可以满意大多数应用程序;

    
6)建立在ASP.NET平台之上,一方面ASP.NET
MVC是基于.NET平台的,由此得以灵活的选择任何.NET语言来编排代码,可以使用大规模的.NET类库和大度的第三方.NET类库序列;另一方面,已经形成的ASP.NET平台特色,如认证、成员、角色、配置文件、国际化等可以减小开支和掩护Web应用程序所急需的代码量。

1、当今的Web开发

     ASP.NET
MVC是微软公司的一款WEB开发框架,整合了“模型-视图-控制器”架构的飞跃与清洁,是很快开发最现代的盘算与技术。它是传统ASP.NET
WebForm的一个系数的替代品。

     5)强大的路由系统,接纳REST风格的路由方案,有如下好处:

2、ASP.NET WebForm的野史与题材

     1)视图状态重负:维护状态的实际机制,也就是ViewState(视图状态)导致在客户端与服务器之间传输大块数据(达到几百KB),而且来回于每趟请求之间,导致响应时间很慢,扩张了服务器的带宽需求;

    
     a、搜索引擎对URL中找到的要紧词有强烈的权重,对同样的重要词的物色,极有可能会转接一个较为简单的URL地址;

     首先需要表明的是,即使ASP.NET MVC相对于ASP.NET
WebForm来说有一对优势,但这并不表示前者要取代后者,也不表示后者要消灭。

    
4)可测试性,ASP.NET
MVC应用程序不仅可以开展单元测试,仍是可以与UI自动化测试工具优秀合作。

          b、许多Web用户现在对URL有丰裕的驾驭,并且愿目的在于浏览器的位置栏目中输入URL地址;

    
4)HTML的受限控制:服务器控件将自己渲染成HTML,但并不是所企盼观看的HTML,在ASP.NET
4往日,并无法很好的行使CSS。同时会生成不可预知或复杂的ID,这样JavaScript就很难展开访问。

     8)ASP.NET MVC是开源的。

    
3)HTML和HTTP上的严密控制,ASP.NET
MVC会暴发整洁与规范十分的符号,其内置的HTML协助器方法,可以生出与专业非常的出口。ASP.NET
MVC生成的页面不含有其他ViewState数据,这种对带宽的节约,可以大幅度的精益求精用户的感受,并且可以对浏览器与服务器之间传递的请求加以控制。

     新匍京视频在线 2

    
7)ASP.NET MVC是针对.NET
4.X而树立的,由此它的API可以充裕利用当前语言和运作时的革新,如await关键字、扩大方法、lambda表明式、匿名、动态类型、LINQ。

          a、搜索引擎对URL中找到的要紧词有分明的权重,对相同的要紧词的摸索,极有可能会转接一个较为简单的URL地址;

         
a、使用组件现行的默认实现,此种可以满足大多数应用程序;

          c、用接口或者抽象基类的一个新的实现来完全替换该零件;

    
首先需要申明的是,即便ASP.NET MVC相对于ASP.NET
WebForm来说有局部优势,但这并不意味前者要替代后者,也不表示后者要消灭。

     2)页面生命周期:连接客户端与劳务器端事件处理器代码的体制很复杂,对于应用程序运行期间很难展开爱戴;

    
3)顺应Web标准和REST化的可行性。

     2)整个软件行业向着敏捷与测试驱动开发方向的上进,如单元测试工具(NUnit、xUnit)、模仿框架(Moq、Rhino、Mocks)、控制反转容器(Ninject、AutoFac)、持续集成服务器(CruiseControl、TeamCity)、对象关系映射器(NHibernate、Subsonic、EF、Dapper、Petapoco)、UI自动化工具的提供。(测试驱动开发TDD思想:首先描述想要拿到的一言一行范例,称为测试规范;然后开展软件设计,这样经过举办依附于这一实现的一套测试,来证实应用程序的安居乐业和不错

         
c、当驾驭URL地址的构造后,人们才会更有可能链接它,并向其外人共享;

     7)ASP.NET MVC是针对.NET
4.X而建立的,由此它的API可以充裕利用当前语言和周转时的换代,如await关键字、扩张方法、lambda表明式、匿名、动态类型、LINQ。

    
1)ASP.NET
MVC框架实现了MVC格局(MVC格局在1978年就曾经指出来了),由于ASP.NET
MVC极大的立异了关怀分离,所以特意适用于Web应用程序。因为与MVC应用程序的竞相坚守着用户动作与视图更替的自然周期,在这些周期中,倘使视图是无状态的。这与扶助Web应用程序的HTTP请求与响应措施十分符合。

     WebForm的计划性思想是,让Web开发在感到上与Windows
Form开发相同。开发者不再需要以一雨后春笋独立的HTTP请求与响应举办工作,可以认为它是一种状态化的UI,人们得以淡忘WEB及其无状态本质,转而用一种“拖–放”式设计器来创立UI,并考虑所有事情都发出在服务器上。

    
8)ASP.NET MVC是开源的。

          d、此种URL结构并不会将应用程序的技术细节、文件夹、文件名称等结构透露给互联网。对于底层实现可以肆意修改,而不会破坏链接;

     6)低可测试性:WebForm的这种紧耦合连串布局并不合乎于单元测试,对于集成测试也很富有挑衅性;