一、MVC是什么?

    MVC(Model-View-Controller),是视图-模型-控制器的框架,刚開始看见这些概念的时候,我以为是U-D-B呢?视图界面,模型是相应这数据库呢,而控制器是存放的一些业务逻辑,这不就和三层非常像吗?所以非常自然的将其联想到我们的经典三层(U-B-D)。

    既然能让我联想到三层。那这个所谓的新知识就是能够和旧知识联系起来,有相似点。也有不同点。

事实上,MVC和我们的三层还是不太一样的。


    Model:模型,表示应用程序的核心(由于数据就是核心嘛),是处理应用程序数据逻辑的部分。

    View:视图,用来显示数据。是应用程序中处理数据显示的部分。

Controller:控制器。用来处理输入,是应用程序中处理用户交互的部分。

二、为什么要用MVC?





1、同我们为什么使用三层,使用设计模式的理由一样,是为了解耦和。





    (1)我们看传统的WebForm窗口。它包括两个文件。一个是aspx。还有一个是aspx.cs。它们是在同一个WebForm窗口下。

HTML语言,C#语言是合在一个窗口的,没有办法拆分的。







   (2)而在我们的MVC程序中,Controller中包括的是后台逻辑。调用的我们三层中所说的B层接口;View层是ASPX,比如HTML代码。Model是一个中间层。





2、传统的WebForm在性能上存在两个问题:响应时间长,带宽消耗大。





(1)响应时间:server响应请求的耗时。

  用户的请求与反馈步骤例如以下图:




    我们每次请求,都要进行一次转换为HTML输出。而相对照直接写成HTML代码,这样的转换的server响应时间就会比写成纯HTML代码时间要长。


(2)带宽消耗:同一时候可传输多少数据。详情请点击这里:http://www.cnblogs.com/powertoolsteam/p/MVC_one.html



三、MVC框架介绍



    使用了MVC之后,后台逻辑代码放在了Controller控制器中,View视图中是简单的HTML代码。而Model作为一个中间层。例如以下图模型:








    1、用户输入指令
    2、获取控制器,通过控制器将用户指令传递给Model模型。
    3、Model模型,进行业务逻辑推断,调用D层,对数据库进行存取操作。
    4、依据不同的业务逻辑,选择不同的视图View。并将结果反馈给用户。

总结:以上就是对MVC的一些简单认识,刚開始接触MVC,认为它挺简单的。

这些都是从自己看过的资料。加上自己的理解总结的,详细的为什么要有M,V。和C还不是非常清楚。它们各自有什么作用也不是特别清楚,仅仅是简单了解了一下。会简单使用了。

接下来会对它进行一下刨根问底。它们各自都是怎么来的呢?仅仅要懂了它是怎么来的,为什么要用它,后面怎样使用它就特别简单了。


    事实上这些东西都不难,都和我们之前学过的一些东西相似,我们找到同样点和不同点进行对照就easy多了。

    初次接触MVC,有理解的不巧当的地方。还请大家多多不吝赐教。


【MVC】初识MVC的更多相关文章

  1. MVC模式和Spring MVC初识

    概述 传统的Model1和Model2 在Model1的模式下,整个Web应用几乎全部是由JSP页面组成,接受和处理用户请求,并对请求处理后直接做出响应:JSP身兼View和Controller两个角 ...

  2. MVC系列——MVC源码学习:打造自己的MVC框架(四:了解神奇的视图引擎)

    前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾. ...

  3. MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)

    前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉 ...

  4. MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)

    前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个 ...

  5. MVC系列——MVC源码学习:打造自己的MVC框架(一:核心原理)

    前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之 ...

  6. ASP.NET MVC 教程-MVC简介

    ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面).MVC(Mode ...

  7. Spring MVC静态资源处理——<mvc:resources /> ||<mvc:default-servlet-handler /> 转载

    Spring MVC静态资源处理——<mvc:resources /> ||<mvc:default-servlet-handler /> mvcmvc:resources  ...

  8. Spring MVC 解读——<mvc:annotation-driven/>(转)

    转自:http://my.oschina.net/HeliosFly/blog/205343 Spring MVC 解读——<mvc:annotation-driven/> 一.Annot ...

  9. ASP.NET MVC 理解MVC模式

    ASP.NET MVC 理解MVC模式 PS:MVC出来很久了,工作上一直没机会用,所以我也没去学.出于兴趣,工作之余我将展开对MVC的深入学习,通过博文来记录所学所得,并希望能得到各位园友的斧正. ...

  10. 【ASP.NET MVC】MVC概述

    描述 本篇文章主要概述ASP.NET MVC,具体包括如下内容: 1.MVC模式概述 2.WebForm概述 3.WebForm与MVC区别 4.ASP.NET MVC发展历程 5.运用程序结构 6. ...

随机推荐

  1. POJ 3155 Hard Life(最大密度子图+改进算法)

    Hard Life Time Limit: 8000MS   Memory Limit: 65536K Total Submissions: 9012   Accepted: 2614 Case Ti ...

  2. BZOJ4196 [Noi2015]软件包管理器 【树剖】

    题目 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件 ...

  3. inux监控平台搭建-监控项

    linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...

  4. react中对props.children进行操作

    之前写的更多的时候是直接使用简写 {props.children} 这样就可以了,但是当有时候需要对传入的子组件进行一些操作的时候需要用到React.Children方法 {React.Childre ...

  5. ClassLoader 提供了两个方法用于从装载的类路径中取得资源:

    转:http://cheneyph.iteye.com/blog/831721 ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL  getResource ( ...

  6. ASP.NET MVC 1.0 哈哈。。转过来,还没学。。

    原文发布时间为:2009-06-13 -- 来源于本人的百度文章 [由搬家工具导入] ASP.NET MVC 1.0 发布了投递人 itnews 发布于 2009-03-19 00:46 评论(8) ...

  7. c++学习重点分析

     C++是一种语言,仅仅是它的语法.特性.标准类库就已经是一门非常高深的课程,所以在开始学习的时候,必须先要打好基础.要知道当我们在学习它的时候重点应该注意什么. 一.#include “filena ...

  8. GMM 的EM 实现

    算法逻辑在这里: http://www.cnblogs.com/Azhu/p/4131733.html 贴之前先说下,本来呢是打算自己写一个的,在matlab 上,不过,实在是写不出来那么高效和健壮的 ...

  9. sgu 275 To xor or not to xor 线性基 最大异或和

    题目链接 题意 给定\(n\)个数,取其中的一个子集,使得异或和最大,求该最大的异或和. 思路 先求得线性基. 则求原\(n\)个数的所有子集的最大异或和便可转化成求其线性基的子集的最大异或和. 因为 ...

  10. 小甲鱼PE详解之资源(PE详解11)

    原文出自:www.fishc.com 最近一直在安排第一届鱼C 学习班的事情,忙活了好一阵子,真是对不住大家,还大家久等了,这里要跟大家说声不好意思 ^_^ 今天我们来谈谈资源部分,资源部分可以说是 ...