一、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. iOS自定义控件创建原理(持续更新)

    前言 因为如果要创建各种自定义控件根据需求的不同会有很多的差别,所以我就在这里,分析一些自定义控件的创建实现方法 弹出视图 1.把要弹出的视图装在一个控制器里面,自定义转场动画 2.创建一个弹出视图, ...

  2. 【bzoj1316】树上的询问 树的点分治+STL-set

    题目描述 一棵n个点的带权有根树,有p个询问,每次询问树中是否存在一条长度为Len的路径,如果是,输出Yes否输出No. 输入 第一行两个整数n, p分别表示点的个数和询问的个数. 接下来n-1行每行 ...

  3. AGC 26 D Histogram Coloring

    题目 将柱子的高度离散化$\DeclareMathOperator{\dp}{dp}$ 设第 $i$ 根柱子实际高度是 $h_i$,离散化之后的高度是 $g_i$:第 $i$ 高的高度是 $H_i$, ...

  4. POJ2749 Building roads 【2-sat】

    题目 Farmer John's farm has N barns, and there are some cows that live in each barn. The cows like to ...

  5. MyBatis输出sql需要log4j.properties配置

    # Global logging configuration log4j.rootLogger=info,stdout,console,logfile # MyBatis logging config ...

  6. docker 集群 kubernetes 1.8 构建

    1.环境说明:操作系统:CentOS7Kubernetes 版本:v1.8.3Docker 版本:v17.06-ce master  192.168.10.220  etcd  kube-apiser ...

  7. docke存储

    1.Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs.volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker ...

  8. vue 中父子组件传值:props和$emit

    更新----------- 1 父组件向子组件传值:通过props数组: 在vue-cli Login.vue父组件中有AcceptAndRefuse.vue子组件,首先import进子组件hello ...

  9. 【01】iconfont的使用

    我之前因为项目用bootstrap比较多,所以使用font awesome字体图标比较多,后来接触到了iconfont,发现想要的什么图标都有,还可以自定义图标,非常强大!之前看了一波教程,觉得繁琐, ...

  10. [AGC016B] Colorful Hats (结论)

    Description 有n个人,每个人都戴着一顶帽子.当然,帽子有不同的颜色. 现在,每个人都告诉你,他看到的所有其他人的帽子共有多少种颜色,请问你有没有符合所有人的描述的情况. Input 第一行 ...