• 什么是MVC

MVC(Model-View-Controller。模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。既然是一种“模式”,在我看来。它就同设计模式一样,解耦。封装。实现软件的灵活,复用和扩展。

自己对MVC理解得还非常浅显,假设非要把MVC和三层联系到一起的话,我觉得View和Controller更像是UI层,Model中能够有BLL,DAL,Entity,仅仅是个人理解。

  • 为什么使用MVC

在Web开发中,界面会由于需求变化,常常修改,而业务逻辑的更改不多。即界面显示上的变动>业务逻辑变动。

  • 和WebForm差别

页面显示和逻辑分离:

原来建一个ASP.NET Web窗口应用程序:

       
           

页面的aspx页面相应一个aspx.cs类,是耦合在一起的。假设我们想从页面的server控件上获取值,则须要在它相应的cs文件里写控件名.的形式,这样当界面上更改了,代码中也得跟着改,要不就得新建一个窗口。把不变的部分Copy过来。

在MVC中:

.aspx文件和cs文件是分离的。一个控制器相应一组页面,比方,Index页面有变化。我们能够再新建一个页面Index。把原来的删掉。而控制器中的Index方法中的逻辑不须要改变;也能够建一个不同名字的页面,如MyIndex。然后在原来的Index方法,改动Return View。默认情况下,返回的View是和方法同名的,可是同意返回不同视图。

只是这样。就不符合开闭原则了吧。

訪问方式:

WebForm是在server的物理地址中查找详细的某个页面

MVC是查找Controller下的某个方法

其它:

在WebForm中,对于一个页面,我们能够右击浏览该页面。或这是该页面为启动项。可是在MVC中。我们要浏览某个页面。仅仅能在地址栏中输入地址。而设置启动项,则须要在Global.asax中的路由中设置。

在WebForm中,我们是将控件直接拖到页面上。而在MVC中我们须要手写Html代码,只是在MVC中,还有HtmlHelper,这就轻松多了。

  • 总结

这篇文章简要介绍了MVC,以及它和WebForm的差别。自己对二者的理解,还仅仅是表面的东西。通过看别人的博客,了解到二者各有优缺点,下面链接。能够供大家參考。

http://www.cnblogs.com/wlb/archive/2009/12/07/1618954.html

MVC总结--MVC简单介绍以及和WebForm差别的更多相关文章

  1. Node.js简单介绍并实现一个简单的Web MVC框架

    编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...

  2. ASP.NET MVC 简单介绍①

    ASP.NET  MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...

  3. 转载 mvc:message-converters简单介绍 https://www.cnblogs.com/liaojie970/p/7736098.html

    mvc:message-converters简单介绍 说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就 ...

  4. ASP.NET,什么是MVC,MVC的简单介绍

    什么是MVC模式 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Co ...

  5. [ExtJS5学习笔记]第九节 Extjs5的mvc与mvvm框架结构简单介绍

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38537431 本文作者:sushengmiyan ------------------ ...

  6. (转)Asp.Net Mvc视图引擎Razor介绍

    Asp.Net Mvc视图引擎Razor介绍 1.Razor介绍 程序园原创,转载请注明:http://www.kwstu.com/ArticleView/dabaomvc_2014082408205 ...

  7. 简单的mvc之一:简单的开始

    mvc学习到现在,相对所学到的一系列的知识做一个总结,于是就有了这个标题—简单的mvc.文如名,写的是简单的mvc的知识,目标群也不言而喻.这一篇来个简单的开始,从头建立一个web项目,比如hello ...

  8. 使用TT模板+mvc+wcf实现简单查询

    今天是除夕,小编的这篇博客是掐着点儿发的,在此,祝各位小伙伴新年快乐,身体健康,万事如意:喜从天降,欣喜若狂:喜气盈门,好事成双:好人好运,金玉满堂:神采飞扬,如愿以偿,财源滚滚来,福如东海长:伴随着 ...

  9. MVC其实很简单(Django框架)

    Django框架MVC其实很简单 让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同. 下面就是通过使用Django来完成以上功能的例子: 首先,我们 ...

随机推荐

  1. html table 表格

    前面的话 在CSS出现之前,table元素常常用来布局.这种做法在HTML4之后不再推荐使用.而现在有些矫枉过正,使用table展示数据都可能会被说不规范.本文将详细介绍HTML表格table tab ...

  2. [AGC016B] Colorful Hats (结论)

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

  3. BZOJ 2813: 奇妙的Fibonacci

    2813: 奇妙的Fibonacci Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 497  Solved: 134[Submit][Status][ ...

  4. POJ1692 Crossed Matchings

    Time Limit: 1000MS     Memory Limit: 10000K Total Submissions: 2738   Accepted: 1777 Description The ...

  5. 洛谷P2168 荷马史诗

    哈夫曼树原理. k=2时,和合并果子一样一样的. 由此思考,k>2时,应该也有相似的原理.确实如此,k进制哈夫曼树,每个结点最多会有k-1个子结点,对应k-1个元素(“元素”可以是更深层的子树) ...

  6. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---35

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  7. pyqt线程实现

    # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.QtGui import * from P ...

  8. [SaltStack] Crontab部署

    salt.states.cron 接着早上安静的时间, 在这里梳理下crontab相关的东东, 主要是crontab的统一管理维护, 包括新增, 修改, 下线等等. 下面就详细看下crontab的sl ...

  9. ios圆角优化-不掉帧

    因网络图片加载用的是SDWebImage所以下面以sd加载图片为例 //普通的加载网络图片方式(已不能满足需求,需要改进) [self sd_setImageWithURL:url placehold ...

  10. grep的简单理解

    概述: grep最早由肯·汤普逊写成.原先是ed下的一个应用程序,名称来自于g/re/p(globally search a regular expression and print,以正则进行全域查 ...