在学习MVC之前对asp.net MVC已经有了一些了解,但是还是有很多的疑问,接下来我慢慢来看书学习并带着问题写博客以作记录。

1.MVC是什么?

2.Asp.net MVC和传统的Asp.net WebFrom开发方式有什么区别?

3.为什么要使用MVC?

4.asp.net MVC好处

5.asp.net MVC使用的基本原则

6.MVC版本问题

首先1.MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。-来源百度百科

一般来说MVC是一种编程思想,而.Net程序员眼里一般指的是框架。

2.Asp.net WebFrom开发利用服务器控件和有用的状态(此处我理解为类似ViewState和SessionState等)来处理后台的复杂事物。

传统的Asp.net WebFrom具有的优点是code-behind即代码后置,aspx页面纯净的只有HTML代码和一些数据控件样式js等,而逻辑代码全部写在后台。当然使用方便的控件也让他更易于上手开发。

缺点:Asp.net WebFrom虽然上手容易但是页面生命周期复杂,例如我曾经做过一个后台管理的项目一个配置的页面上有母版页,子页面,母版页用户控件,子页面用户控件,net的ajax控件。这里除去net的ajax控件,其他的都分别有自己的一整套完整的生命周期事件,初始化->加载->加载完毕前->加载完成->加载完成后等等,我只是简单的列举,asp.net页面生命周期比这个复杂不做详细的研究。而最终ajax控件也会影响到你的页面显示效果,这样一个复杂的页面并没有什么意义,对于维护来说要修改一个显示的数据或者顺序是很头疼的一件事情。可能你需要页面加载状态的判断也无法很好的获取。

这里我找到一个文章这里专门说了一些两者之间的比较,我不是完全认同作者觉得作者并没有完全的说服我,但是自己没有找到更多的对比 MVC与Asp.net对比

就我个人而言还没有做过MVC开发,但是公司有MVC的项目,目前来说MVC都坐在公司面向客户的网站上,而公司自己用的后台老系统并没有做MVC可能考虑的是成本与效益问题,后台本身压力不大不用升级。

3.我认为上面对比中比较能说服我使用MVC的理由,更加简洁,更加接近原始的“请求-处理-响应”

4.在net平台上,托管代码,利用net语言新特性lamba表达式,动态和匿名类型。

5.  1)约定优于配置

2)不重复(DRY原则)

3)尽量保持可插拔性(pluggability)

6.目前MVC到了6.0版本,不过常用的是4.0。

以前都没去关心 System.Web.UI 和System.Web,总是在Asp.net里面使用。

-System.Web.UI :Web Form层,由服务器控件和ViewState组成。

-System.Web:管道程序,提供基本的Web堆栈,其中包括组件模块,处理程序和Http堆栈等等。

MVC学习 (一)的更多相关文章

  1. MVC学习系列4--@helper辅助方法和用户自定义HTML方法

    在HTML Helper,帮助类的帮助下,我们可以动态的创建HTML控件.HTML帮助类是在视图中,用来呈现HTML内容的.HTML帮助类是一个方法,它返回的是string类型的值. HTML帮助类, ...

  2. Spring MVC 学习 -- 创建过程

    Spring MVC 学习 -- 创建过程 Spring MVC我们使用的时候会在web.xml中配置 <servlet> <servlet-name>SpringMVC< ...

  3. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  4. 《Spring MVC学习指南》怎么样?答:书名具有很大的欺骗性

    2016年6月21日 最近,因为工作需要,我从网上买了一本<Spring MVC学习指南>,ISBN编号: 978-7-115-38639-7,定价:49.00元.此书是[美]Paul D ...

  5. PHP实例开发(3)PHP中MVC学习之ThinkPHP

    PHP中MVC学习之ThinkPHP 1.什么是MVC MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离 MVC是一个设 ...

  6. Asp.net MVC 学习系列(一)序

    题外话 公司本月开始提供早餐服务,2块天一餐,包括粥,两个包(听说是利口福供应的),一个鸡蛋.良心企业.公司原本有一个内部订餐系统,用Delphi开发的,开发的人早就走光了,也没有留下什么文档,现在项 ...

  7. MVC学习(四)几种分页的实现(3)

    在这篇MVC学习(四)几种分页的实现(2)博文中,根据URL中传入的两个参数(页码数,首页.上一页.下一页.末页的标记符)来获得对应的分页数据, 只是传入的参数太多,调用起来不太方便(标记符不能够写错 ...

  8. ASP.NET MVC学习之Ajax(完结)

    一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...

  9. ASP.NET MVC学习之视图篇(2)

    继ASP.NET MVC学习之视图(1)学习 4.HTML辅助器 虽然在ASP.NET MVC中我们已经摆脱了ASP.NET的控件,但是对于页面中需要循环标签的情况依然还是存在,可能很多人认为用for ...

  10. ASP.NET MVC学习之过滤器篇(2)

    下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...

随机推荐

  1. pthread_t结构的定义

    linux下是这样定义的: 在linux的实现中pthread_t被定义为 "unsigned long int",參考这里 Windows下这样定义: /* * Generic ...

  2. Android内存泄漏监测(MAT)及解决办法

    http://ttlnews.blogspot.com/2010/01/attacking-memory-problems-on-android.html 这篇文章是2010年1月份写的,其中有些已经 ...

  3. asp.net 页面上传文件控件后台代码Request.Files获取不到

    今天开发中遇到页面文件上传控件选择了文件,而后台Request.Files.Count取值为0,之前开发中遇到过几次,老是忘掉,今天记下来. html: <input type="fi ...

  4. java实例变量及方法调用顺序

    public class Base { private String name="base"; public Base(){ sayHello(); } void sayHello ...

  5. pom.xml配置

    1:头部引用 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3 ...

  6. SPOJ QTREE 系列解题报告

    题目一 : SPOJ 375 Query On a Tree http://www.spoj.com/problems/QTREE/ 给一个树,求a,b路径上最大边权,或者修改a,b边权为t. #in ...

  7. 安装setuptools和pip

    什么是setuptool和pip python的强大在于它有许许多多的包,当我们要用到这些包时,一个一个的从官网下载安装就太麻烦了,setuptools和pip就提供了下载安装第三方包的功能.pip是 ...

  8. EditText判断用户输入完成,然后进行操作解决方案

    private Timer timer = new Timer(); private final long DELAY = 1000; // in ms EditText editTextStop = ...

  9. thinkphp项目目录

    #   ThinkPHP核心文件介绍        ├─ThinkPHP.php     框架入口文件    ├─Common 框架公共文件    ├─Conf 框架配置文件    ├─Extend ...

  10. 七、适配器(Adapter)模式--结构模式(Structural Pattern)

    适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作. 类的 Adapter模式的结构: 类适配器类图: 由图中可以看出,Adaptee ...