1.MVC简单介绍

  1)原理(如图)如果想更加深入了解原理,可以访问此地址(https://www.cnblogs.com/uicodeintoworld/p/8950877.html)

理解:客户端向后台请求数据,控制器(Controller)接收到请求消息后,从模型层(Model)中获取数据,并且返回相应的视图给客户端

  

  2)MVC项目文件夹说明
    a、App_Data:用来保存数据文件,比如XML文件等
    b、App_Start:包含MVC启动的相关类  RouteConfig.cs 路由配置
    c、Global.asax.cs全局应用程序控制文件 启动路由配置RouteConfig.cs
    d、Controller:存放整个项目“控制器”代码文件
    e、Models:存放整个项目的“模型”代码文件
    f、Views:存放整个项目的“视图”代码文件(网页/界面)

  3) 重要文件说明
    a、Views下面的web.config:是整个视图的配置文件;根目录下的web.config:作用于整个项目的配置
    b、Global.asax.cs全局应用程序控制文件

  4) MVC中的一些基本规则

    a、控制器必须以Controller结尾

    b、视图必须放到Views文件夹中,并且要和控制器同名的子目录中创建

    c、通过控制器的Action方法来返回相应的视图给客户端(例如view() 则返回跟控制器名称(去掉结尾的Controller)相同的文件夹下的视图给客户端)

2.ASP.NET Web Form和ASP.NET MVC的优缺点

  ASP.NET Web Form:

    1)缺点:

      a. 响应时间: 服务器响应请求的耗时

         通过分析我们可以得知,每一次请求都有转换逻辑,运行并转换服务器控件为HTML输出。(把服务器控件转换为客户端控件)

         如果我们的页面使用表格,树形控件等复杂控件,转换就会变得很糟糕且非常复杂。

         HTML输出也是非常复杂的。由于这些不必要的转换从而增加了响应时间。该问题的解决方案就是摆脱后台代码,写成纯HTML代码。

        b.带宽的消耗

        页面Viewstates会自动保存post返回的状态,减少开发时间。但是这种开发时间的减少会带来巨大的消耗,Viewstate增加了页面的大小,使的页面的加载速度变慢,影响了客户的使用。

    2)优点

      a、有很多控件和事件

      b、拥有视图状态,能对界面的状态进行有效管理

      c、有很多组件可以使用,能够快速进行开发

      d、具有传统思维模式,便于理解

    3)原理图

      

  MVC:

    1)优点

      a、分了三层,结构清晰简单,比较方便

      b、不依赖于视图状态和Web窗体,适合以业务逻辑为中心的开发项目

      c、将业务逻辑和视图分开,降低了耦合度

      d、便于测试

      e、适合大型团队协同开发

    2) 缺点

      a、增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

      b、视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

      c、视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

      d 、目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。

3.代码简单实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;//ASP.NET核心命名空间
using System.Web.Mvc;//MVC框架基本的命名空间 namespace MyFirstMVC.Controllers
{
public class HomeController : Controller//每个控制器必须继承的基类
{
// GET: Home //控制器的动作方法,用于响应客户端的请求,并调用响应的视图向浏览器输出信息
public ActionResult Index()
{
//[1]获取数据:接收请求数据 //[2]业务处理:和Model交互... //[3]返回视图或跳转到其他控制器 return View();//该方法默认调用Index视图(与Index()方法同名的视图)
}
}
}

1.MVC的初步了解的更多相关文章

  1. MVC的初步认识理论

    说起来写博客可以说一个月没来啦,我们狠狠的放假一个月,想一想都奇怪.而是想一下以后的假期还会这样吗?或许这是作为学生的我们的最后一个长的假期啦,以后就要面对工作再也没有寒假暑假之分啦,在这一个月的时间 ...

  2. MVC的简单初步学习(2)

    今天似乎一切是正常的,我们的课依旧在进行着,但是恍惚脑海中并没有那样的平静,不知道在想些什么?而且今天是学习MVC的初步开始,我应该认真地学习才是正确的啊.但是我并不糊涂,今天是周一,也就是刚开始上课 ...

  3. dotnet core开发体验之开始MVC

    开始 在上一篇文章:dotnet core多平台开发体验 ,体验了一把dotnet core 之后,现在想对之前做的例子进行改造,想看看加上mvc框架是一种什么样的体验,于是我就要开始诞生今天的这篇文 ...

  4. 无废话MVC入门教程一[概述、环境安装、创建项目]

    (转载) 本文目标 1.对MVC有初步的了解 2.能够在VS2010的基础之上安装MVC3的开发和运行环境 3.对MVC框架有概括性的认识 本文目录 1.什么是MVC 2.VS2010安装MVC3 3 ...

  5. Spring MVC接口实例

    概述 前文记录了MVC模式和Spring MVC的初步认识,现在记录创建一个项目,配置Spring MVC,编写接口程序. 创建项目 打开IntelliJ IDEA,点击"File-> ...

  6. 软件架构(六)MVC架构历史

    一.引子 一个系统可能由很多子系统组成.各子系统内部高度内聚,子系统之间低耦合.子系统关注自己的职责.实现:   职责分离,关注点分离.----MVC架构早期就是为了分离视图.模型而诞生的. 注:很多 ...

  7. ASP.NET Web API路由规则(二)

    默认的规则 在ASP.NET MVC4中 global.asax.cs代码中并无注册默认路由规则的代码 代码如下: public class WebApiApplication : System.We ...

  8. ASP.NET Web API路由规

    默认的规则 在ASP.NET MVC4中 global.asax.cs代码中并无注册默认路由规则的代码 代码如下: public class WebApiApplication : System.We ...

  9. 第一次正式java web开发项目的总结

    去年下半年到现在,因为公司人员流动,也有好几个新进的员工分给我来带领,也有刚从学校出来的,在和他们交流的过程中,不由的想起自己刚刚进入这行的一些感想. 记得自己当初写过一篇总结的,我想这些对于刚出校门 ...

随机推荐

  1. mobx学习笔记02——mobx基础语法(class)

    新的语法可能不被浏览器支持,可以使用babel转换为浏览器支持的代码格式: 为什么要定义class? js是一门面向对象的编程语言.需要利用类来复用代码,提高编程效率. 需要什么样的class能力? ...

  2. 【Vim编辑器】基本命令

    前言 工作中免不了会使用到vim编辑文档,总会觉得不好上手,遂从网上找到一篇说明文档整理如下,共勉. 原文地址: https://www.cnblogs.com/shiyanlou/archive/2 ...

  3. JAVA(JDK,JRE)更改目录安装及环境变量配置

    重温一下 JAVA(JDK,JRE)更改目录安装及环境变量配置 https://jingyan.baidu.com/article/e2284b2b5b7ae5e2e7118d11.html 备注:随 ...

  4. linux6.5 RPM方式安装 mysql5.6

    步骤一.检查下linux是不是已经安装了MySQL # rpm -qa|grep mysql mysql-libs-5.1.71-1.el6.x86_64 # rpm -e --nodeps mysq ...

  5. Linux系统结构 详解

    Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统.部分层次结构如图1-1所 ...

  6. SQL:REGEXP

    作为一个更为复杂的示例,正则表达式B[an]*s匹配下述字符串中的任何一个:Bananas,Baaaaas,Bs,以及以B开始.以s结束.并在其中包含任意数目a或n字符的任何其他字符串. 以下是可用于 ...

  7. R语言利用ROCR评测模型的预测能力

    R语言利用ROCR评测模型的预测能力 说明 受试者工作特征曲线(ROC),这是一种常用的二元分类系统性能展示图形,在曲线上分别标注了不同切点的真正率与假正率.我们通常会基于ROC曲线计算处于曲线下方的 ...

  8. Html5 学习笔记 【PC固定布局】 实战7 风景欣赏 联系我们

    风景欣赏最终效果: 关于公司最终效果: 风景欣赏Html代码: <!DOCTYPE html> <html lang="zh-cn"> <head&g ...

  9. USACO 6.1 章节

    Postal Vans 题目大意 4*n的网格,要经过所有点的有向有环,不重复经过点的路径总数 n<=1000 题解 显然 插头dp 以4为切面 问题是,会发现 超精度 解决呢要么实现高精度,要 ...

  10. POJ1426-Find The Multiple-bfs

    Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal repr ...