1.Net WebForm的开发模式
(1)处理流程:网站根目录->index.aspx文件->CodeBehind文件逻辑处理(访问数据库等)->由index.aspx页面呈现给客户
 
(2)开发方式
  • 服务器端控件
  • 一般处理程序+html静态页面+Ajax (所谓的前后端分离)
  • 一般处理程序+html模板引擎
 
2.Net MVC的开发模式
(1)处理流程:
客户端请求的URL->映射到响应的Controller去(处理业务逻辑)(从Model取数据)->控制器选择合适的View返回给客户
 
(2)M-V-C分别代表什么
M:Model主要是存储或者处理数据的组件 ;是实现业务逻辑层对实体类相应数据库操作,如增删改查。它包括数据,验证规则,数据访问和业务逻辑等信息(补充:ViewModel:视图模型)
 
V:View是用户接口层组件。主要是将Model中的数据展现给客户。aspx和ascx文件被用来处理视图的职责。
 
C:Controller处理用户交互,从Model中获取数据并将数据传给指定的View
 
 
3.WebForm和MVC比较
 
(1)WebForm
优点:
  • 有大量的微软封装的服务器控件支持,学习成本低,深入学习难度大
  • 基于事件驱动编程,click事件等,aspx和cs文件分离,即显示逻辑和处理逻辑分离
  • 控件以“隐藏域”形式存在当前表单页面,即ViewState
缺点:
  •  ViewState会增加页面负担,造成性能不是很高
  • 代码重用性不高,code-behind代码后值技术,
  • aspx页面和cs紧密耦合度太高,不利于单元测试
(2)MVC
优点:
  • 架构的设计降低了程序间的耦合性,方便单元测试
  • 不支持ViewState,提升程序性能
  • 可扩展性好,继承asp.net的特性,表单验证,缓存,会话等
  •  强类型View实现、Razor视图、Model绑定机制、Model的验证机制,更安全高效
 缺点:
需要有一定的学习成本,前端技术 
 
 
总结:快速开发中小型项目 用webform,比较关注代码性能和重用性,单元测试建议使用MVC
 
 
 
 

1.MVC基础-初识MVC,与WebForm比较的更多相关文章

  1. 【MVC】初识MVC

    一.MVC是什么?     MVC(Model-View-Controller),是视图-模型-控制器的框架,刚開始看见这些概念的时候,我以为是U-D-B呢?视图界面,模型是相应这数据库呢,而控制器是 ...

  2. 创建第一个MVC专案--初识MVC

    MVC1.0正式版2009就上市了,可自己今年才开始去接触,汗颜~ 自己在学的过程中也看过一些文章,很多都是大致介绍的没有连接数据库实现下操作,直至自己买了本后发现MVC有很强大的数据库操作类已封装好 ...

  3. MVC基础(很基础很基础~~~)

    最近工作比较不忙,准备学习一些东西,作为一个菜鸟,不断学习新东西(我不会的东西)充实自己真的很重要,所以整理一下基础的mvc知识,以备不时之需.呵呵~~ 首先感谢原文作者:QLeelulu的文章htt ...

  4. ASP.NET MVC 基础

    ASP.NET MVC oo1 Mvc准备工作课程安排:ORM->AspNet MVC开发环境:VS2012/VS2013SqlServer2008/2005主讲Asp.Net Mvc4 Raz ...

  5. 重温MVC基础入门

    重温MVC基础入门   简介 本文主要是作者回顾MVC基础的文章,整合个人认为基础且重点的信息,通过简单实践进行复习. 相关代码地址:https://github.com/OtherRuan/Revi ...

  6. MVC 基础知识

    一. MVC架构1.MVC模式是一种严格实现应用程序各部分隔离的架构模式.隔离:分离关注点,松耦合2.模型(Model) 代表着核心的业务逻辑和数据.模型封装了域实体的属性和行为3.视图(View) ...

  7. Webform和MVC,为什么MVC更好一些?

    前言 如果你看了最近微软的议程,你会发现他们现在的焦点除了MVC,还是MVC.问题在于为什么微软如此热衷于丢弃传统的APS.NET Webform而转向ASP.NET MVC?本文就主要来讨论这个问题 ...

  8. Spring MVC基础

    1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层 ...

  9. Spring MVC 基础

    Spring MVC 基础 1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是 ...

随机推荐

  1. linux命令实现音频格式转换和拼接

    安装FFmpeg flaceric@ray:~$ sudo apt install FFmpeg flac 安装lame faaceric@ray:~$ sudo apt install lame f ...

  2. numpy linspace

    https://www.cnblogs.com/antflow/p/7220798.html numpy.linspace(start, stop, num=50, endpoint=True, re ...

  3. [转][linux][centos]嵌入式 Linux下编译并使用curl静态库

    #x86 ./configure --disable-shared --enable-static --disable-ftp --disable-ipv6 --disable-rtsp --disa ...

  4. SOD 框架

    http://www.pwmis.com/sqlmap/#yyal “老坛泡新菜”-SOD MVVM框架,让WinForms焕发新春 https://blog.csdn.net/ccc82284/ar ...

  5. Spring cloud微服务安全实战-5-6实现授权码认证流程(2)

    授权服务器,返回给我一个授权码,这里我只需要把授权传回去就可以了.来证明我是这个服务器. URI的地址传和第一次的地址一样的,认证服务器会比,第一次跳转的请求和第二次申请令牌的请求redirect_u ...

  6. 利用 Postman 中 Tests 断言校验返回结果

    前言 Postman目前是一款很火的接口测试工具,它有着非常强大结果判断能力.为什么说强大呢,因为Postman有自带的校验脚本,根本不需要我们去学习JS脚本语言,对于代码能力为0的各位测试小伙伴来说 ...

  7. 【436】Solution for LeetCode Problems

    Coding everyday. ^_^ 1. Two Sum 重点知识:指针可以存储数值,通过 malloc 新建数组 int* returnSize:Size of the return arra ...

  8. GWAS: 网页版的基因型填充(genotype imputation)

    在全基因组关联分析中,处理芯片数据时,必须走的一个流程就是基因型数据填充(imputation). 当然,如果你拿到的是全测序的数据,请忽略这一步. 下面直奔主题,怎么在网页版进行基因型填充. 1 进 ...

  9. ABAP函数篇2 测试DATE_CONVERT_TO_FACTORYDATE

    DATE_CONVERT_TO_FACTORYDATE   根据日期返回工厂日历日期 函数功能说明: 标出工作日的计算方法 输入传输 CORRECT_OPTION = '+'如果指定的日期不是工作日, ...

  10. AD域策略启动关机脚本不执行的注意事项

    其实主要是脚本路径的问题. 错误一: 直接使用右侧的添加按钮,添加了预控的本地路径.如上图第二行. 错误二: 直接使用右侧的添加按钮,添加了脚本的网络路径,如上图第三行. 正确的方法: 点击下方的显示 ...