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. Swagger 慢

    Swagger 慢 - 国内版 Binghttps://cn.bing.com/search?FORM=U227DF&PC=U227&q=Swagger+%E6%85%A2 rest框 ...

  2. Visual Studio IronPython CPython

    安装 IronPython - 张善友 - 博客园https://www.cnblogs.com/shanyou/archive/2006/09/14/504580.html VS2017作为pyth ...

  3. 峰回路转的提权08r2服务器

    事前日下这个站的时候说实话,略微的蛋疼.其过程就不写了,就讲讲提权吧.可能图片有点暗.看看我写这篇文章的时候就知道了. 这个学校我好多同学在里面读书,就萌生了.日下这个站的想法. 拿到shell,理所 ...

  4. Spark获取DataFrame中列的几种姿势--col,$,column,apply

    1.doc上的解释(https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/sql/Column.html)  df("c ...

  5. qt操作excel報錯解決

    如果電腦上沒有office,需要判斷,否则,会报错 onecore\com\combase\catalog\catalog.cxx()\combase.dll!00007FFF1DF823CB: (c ...

  6. osg gdal加载tif数据文件

    osg加载.tif地形数据文件 #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include <iostream> ...

  7. 全面系统Python3入门+进阶-1-6 python能做些什么?

    结束

  8. 转 Java连接Oracle数据库的简单示例

    https://www.cnblogs.com/joyny/p/11176643.html https://community.oracle.com/thread/4096458 import jav ...

  9. idea中copyright使用

    1,在idea中找到settings->Editor->copyright->copyright profiles,然后点击+,输入名字,在copyright text中输入模板.然 ...

  10. Shell中 2>/dev/null

    1.文件描述符 Linux系统预留可三个文件描述符:0.1和2,他们的意义如下所示: 0——标准输入(stdin) 1——标准输出(stdout) 2——标准错误(stderr) 标准输出——stdo ...