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. Android Studio: 查看SDK源代码

    有时候在AS里点击某个类跳转到的仍然是这个类反编译的源代码,看起来依然不舒服,今天分享个办法: 1. 查看当前编译的SDK Version: 2. 确保当前版本的SDK源码已下载: 3. 找到andr ...

  2. 2019年逾期率上升_24家头部P2P平台最新运营数据解读:8家近一年逾期率走势曝光

    python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...

  3. Syntax error: "(" unexpected shell里面的报错解决

    author:headsen  chen date : 2019-08-08  11:11:38 notice : 个人原创 Ubuntu上运行shell脚本总是报下面这个错误,在centos下面或者 ...

  4. Chrome与chromedriver.exe的版本对应

    Chrome与chromedriver.exe的版本对应 分类专栏: pyhton3.7+selenium3   转:https://blog.csdn.net/weixin_44545954/art ...

  5. opencv图片旋转90度

    #include<iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv ...

  6. flutter的 图片组件基本使用

    import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends Statele ...

  7. 0.9.0.RELEASE版本的spring cloud alibaba sentinel限流、降级处理实例

    先看服务提供方的,我们在原来的sentinel实例(参见0.9.0.RELEASE版本的spring cloud alibaba sentinel实例)上加上限流.降级处理,三板斧只需在最后那一斧co ...

  8. 软件定义网络基础---SDN控制平面

    一:SDN控制平面 一个或多个SDN控制器组成,是网络的大脑.  对底层网络交换设备进行集中管理,状态监测.转发决策以及处理和调 度数据平面的流量:  通过北向接口向上层应用开放多个层次的可编程能 ...

  9. Redis常用数据类型及各种数据类型应用和实现方式

    Redis常用数据类型: StringHashListSetSorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Red ...

  10. 静态站点生成器-html-markdown-jekyll

    推荐指数: