• 什么是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. 关于UITextView的限制字数显示,以及emjor表情占用字节处理,复制粘贴字节处理~优化

    //限制字数 #define MAX_LIMIT_NUMS 30 1 #pragma mark -- textview的代理事件 - (BOOL)textView:(UITextView *)text ...

  2. TJOI2015题解

    (转载前请标明出处,谢谢) 打算来做一波TJOI2015,来写题解啦! Day1: T1:[bzoj3996] 题目链接:http://www.lydsy.com/JudgeOnline/proble ...

  3. vue-cli脚手架每行注释

    .babelrc文件 { // 此项指明,转码的规则 "presets": [ // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es ...

  4. 用正则表达式模仿Mustache插件的功能

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  5. no update

    cd /home/.gnupg/ mv gpg.conf gpgbake.conf pacman -S archlinux-keyring && pacman -Syu 如果还是不行, ...

  6. django 模型生成sql(多对多)

    模型如下: class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharFie ...

  7. C++ 找不到方法标识符

    其实原因是这个CPP并没有面向对象的结构. 所以进行编译时是“顺序编译”的,而main函数的定义又在A的定义之前.自然找不到标识符了.

  8. Git Base 操作(二)

    1. 撤销修改 (1) 当改乱了工作区(working directory)某个文件的内容,想直接丢弃工作区中的修改时,用命令git checkout -- file. (2) 当不但改乱了工作区某个 ...

  9. JLOI2018 日志

    JLOI2018 今年有幸参加吉林省的省选,考过之后在这里写一下总结和感受. DAY1: t1(chess):首先看到题目,第一想法是暴力,上来直接写了暴力,枚举所有的情况,再在这些情况里找到差值最大 ...

  10. RAID 1-6

    RAID 0 RAID 0亦称为带区集.它将两个以上的磁盘串联起来,成为一个大容量的磁盘.在存放数据时,分段后分散存储在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最 ...