• 什么是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. react 当中当组件抛出的dom元素最外层不止一个的时候的写法

    在react16当中,对一个组件抛出多个dom进行了支持,写法 以数组形式抛出

  2. Qualcomm download 所需要的 contents.xml

    Platform MSM8917 PM8937 PMI8940 在 Qualcomm code base 中, amss下有許多 MSM89xx 之類的 folder, 這些是為了不同 chip 所產 ...

  3. LeetCode OJ-- Generate Parentheses *

    https://oj.leetcode.com/problems/generate-parentheses/ 输入n产生n个( ,n个 )组成的所有合法的括号组合. 现在纸上画画,找到规律: 1.每一 ...

  4. Jquery 返回json数据在IE浏览器中提示下载的问题

    Jquery 返回json数据,IE浏览器提示下载的问题,当提交完数据后返回的本来是json数据的,在火弧里测试正常,解决方法如下 今天遇到Jquery 返回json数据,IE浏览器提示下载的问题,当 ...

  5. es6 解构写法:给变量取别名

    在变量后面加一个: var {f: foo} = {f: 5}; foo == 5 // true

  6. (8)ftp配置文档

    1.vsftpd文件夹中的ftpusers文件的作用 它是一个黑名单,ftpusers不受任何配制项的影响 该文件存放的是一个禁止访问FTP的用户列表 管理员不希望一些拥有过大权限的帐号(比如root ...

  7. Codeforces 777E Hanoi Factory(线段树维护DP)

    题目链接 Hanoi Factory 很容易想到这是一个DAG模型,那么状态转移方程就出来了. 但是排序的时候有个小细节:b相同时看a的值. 因为按照惯例,堆塔的时候肯定是内半径大的在下面. 因为N有 ...

  8. Codeforces 546D Soldier and Number Game(数论)

    类似筛素数的方法……求出前缀和.然后直接O(1)回答即可. #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) ...

  9. SSH做反向代理

    说实话,我对反向代理这个概念并不熟悉,只是感觉以下要做的事是一个代理的逆向过程,故借此名词一用. 问题场景是这样的:我有两套Linux集群的访问权限,分别为A和B,它们互相独立.其中A.B集群均能访问 ...

  10. main函数参数

    方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* ar ...