zoukankan      html  css  js  c++  java
  • MVC与WebForm的简单的比较

    MVC与WebForm的简单的比较


    ASP 强制程序员将业务逻辑和展示页放到一个文件中

    WebForm 允许程序员将业务逻辑与页面展示分开到不同的文件中,并且提供强大的开发平台来写  业务逻辑代码 
    MVC将业务逻辑/试图/领域模型   完全分离     


    url和路由的差别:

    WebForm中一个URL就是一个路径,对用一个具体的页面
    MVC中,一个URL并不是一个路径,但是我们可以解析这个url,返回对应的view,同时我们可以控制路由的方式,以此来达到动态解析URL的目的

    状态保持的区别:

    WebForm用的是ViewSate,原理是将实体序列化传到前台,第二次请求的时候将其再次传回后台

    MVC的实现方式是:第一次请求的时候从数据库中读取实体,将实体还有Id一起传到前台,第二次请求的时候,将Id传到后台,后台通过Id获取实体,再次传到前台

     
    HTML的渲染的差别:       服务器端控件  和  HTMLHelper

    WebForm的实现:是通过服务器端控件来生成HTML(HTML不是程序员自己写出来的)
    MVC的实现:MVC希望程序员自己写出HTML,但同时也提供了Rasor/HTMLHelper来帮助程序员更方便的写出HTML


    服务器端控件都是基于代码的用来生成HTML的组件,服务器端控件就是继承自特定类的一个子类,
    HTMLHelper是公布出的一些扩展方法,你也可以将一些常用的标签自定义到HTMLHelper中


    Partial views 代替user controls

    Partial views 就像用户控件一样允许我们将View的一部分封装,在不同的中进行重用

    Layouts 替代 master pages

    我们可以在一个view中声明多个Layout,layout和master page 的主要区别在于layout只是对mvc管道的一个建议,我们可以在任何地方改变layout的赋值,甚至将其删除

    写View的语法有多种

    Razor并不是唯一的写MVC Views的方式,如果WebForm开发者还不能完全离开WebFrom的开发方式,我们可以用WebForm的语法来写Views,但是你用的只是WebForm的语法,并不是说你在用WebForm框架在做开发,我们还是用的MVC架构在进行开发。

  • 相关阅读:
    leetcode 之Search in Rotated Sorted Array(三)
    leetcode 之Remove Duplicates from Sorted Array(2)
    leetcode 之Remove Duplicates from Sorted Array(1)
    ImageNet Classification with Deep Convolutional Neural Network(转)
    Gradient-Based Learning Applied to Document Recognition 部分阅读
    C++面试总结
    Effective C++笔记(六):继承与面向对象设计
    Effective C++笔记(五):实现
    Effective C++笔记(四):设计与声明
    Learning a Deep Compact Image Representation for Visual Tracking
  • 原文地址:https://www.cnblogs.com/key1309/p/3460397.html
Copyright © 2011-2022 走看看