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. ArcMap与快捷键冲突

    ArcMap与快捷键冲突 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com 问题:armap进入鼠标自动导航状态,arcmap失控,系统紊乱,导致 ...

  2. C++提示没有与这些操作数匹配的<<运算符

    应该是忘了#include.#include<string>

  3. 廖雪峰Git教程2

    转自:https://www.liaoxuefeng.com/wiki/896043488029600 [远程仓库] 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心 ...

  4. Kotlin集合——List集合

    Kotlin集合——List集合 转 https://www.jianshu.com/p/3f3bb4943638   List集合的最大特征就是集合元素都有对应的顺序索引.List集合允许使用重复元 ...

  5. Ionic4.x、Cordova Android 检测应用版本号、服务器下载文件以及实现App自动升级、安装

    Android App 升级执行流程 1.获取本地版本号 2.请求服务器获取服务器版本号 3.本地版本和服务器版本不一致提示升级,弹窗提示用户是否更新 4.用户确定升级,调用文件传输方法下载 apk ...

  6. Qt 操作excel报错

    onecore\com\combase\catalog\catalog.cxx(2376)\combase.dll!00007FFF1DF823CB: (caller: 00007FFF1DED3A1 ...

  7. 安装docker报错:https://download.docker.com/linux/centos/7/i386/stable/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"

    如题,执行docker安装命令报错: [root@centos ~]# yum install docker-ce Loaded plugins: fastestmirror, security Se ...

  8. php 微信公众平台OAuth2.0网页授权,获取用户信息代码类封装demo

    get_wx_data.php <?php /** * 获取微信用户信息 * @author: Lucky hypo */ class GetWxData{ private $appid = ' ...

  9. Python数据抓取技术与实战 pdf

    Python数据抓取技术与实战 目录 D11章Python基础1.1Python安装1.2安装pip1.3如何查看帮助1.4D1一个实例1.5文件操作1.6循环1.7异常1.8元组1.9列表1.10字 ...

  10. Silence Removal and End Point Detection JAVA Code(音频删除静音与结束判断)

    转载自:http://ganeshtiwaridotcomdotnp.blogspot.com/2011/08/silence-removal-and-end-point-detection_29.h ...