MVC总结--MVC简单介绍以及和WebForm差别
- 什么是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的差别。自己对二者的理解,还仅仅是表面的东西。通过看别人的博客,了解到二者各有优缺点,下面链接。能够供大家參考。
MVC总结--MVC简单介绍以及和WebForm差别的更多相关文章
- Node.js简单介绍并实现一个简单的Web MVC框架
编号:1018时间:2016年6月13日16:06:41功能:Node.js简单介绍并实现一个简单的Web MVC框架URL :https://cnodejs.org/topic/4f16442cca ...
- ASP.NET MVC 简单介绍①
ASP.NET MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...
- 转载 mvc:message-converters简单介绍 https://www.cnblogs.com/liaojie970/p/7736098.html
mvc:message-converters简单介绍 说说@ResponseBody注解,很明显这个注解就是将方法的返回值作为reponse的body部分.我们进一步分析下这个过程涉及到的内容,首先就 ...
- ASP.NET,什么是MVC,MVC的简单介绍
什么是MVC模式 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Co ...
- [ExtJS5学习笔记]第九节 Extjs5的mvc与mvvm框架结构简单介绍
本文地址:http://blog.csdn.net/sushengmiyan/article/details/38537431 本文作者:sushengmiyan ------------------ ...
- (转)Asp.Net Mvc视图引擎Razor介绍
Asp.Net Mvc视图引擎Razor介绍 1.Razor介绍 程序园原创,转载请注明:http://www.kwstu.com/ArticleView/dabaomvc_2014082408205 ...
- 简单的mvc之一:简单的开始
mvc学习到现在,相对所学到的一系列的知识做一个总结,于是就有了这个标题—简单的mvc.文如名,写的是简单的mvc的知识,目标群也不言而喻.这一篇来个简单的开始,从头建立一个web项目,比如hello ...
- 使用TT模板+mvc+wcf实现简单查询
今天是除夕,小编的这篇博客是掐着点儿发的,在此,祝各位小伙伴新年快乐,身体健康,万事如意:喜从天降,欣喜若狂:喜气盈门,好事成双:好人好运,金玉满堂:神采飞扬,如愿以偿,财源滚滚来,福如东海长:伴随着 ...
- MVC其实很简单(Django框架)
Django框架MVC其实很简单 让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同. 下面就是通过使用Django来完成以上功能的例子: 首先,我们 ...
随机推荐
- webpack+babel+ES6+react环境搭建
webpack+babel+ES6+react环境搭建 步骤: 1 创建项目结构 注意: 先创建一个项目目录 react 这个名字自定义,然后进入到这个目录下面 mkdir app //创建app ...
- MySQL不容忽视SQL_MODE的设置
CREATE DATABASE db_test; CREATE TABLE `tb1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ...
- 洛谷 [P3723] 礼物
FFT https://www.luogu.org/problemnew/solution/P3723 重点在于构造卷积的形式 #include <iostream> #include & ...
- 汇编中的 imul 指令
1.这是整形乘法指令,无论是 unsigned int 还算是 signed int 实际上指令都是进行相同的运算,只不过最终的结果是由程序中的类型来做相应的解读 2.imul 指令实际上不会发生 o ...
- js 数组知识复习
2.Array类型 2.1 创建数组 两种方式: 1.new Array(); //创建一个空数组 var arr1 = new Array(); //创建一个长度为10的空数组, var arr2 ...
- Hibernate的merge与update方法的区别
今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样.实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容: 1. 数 ...
- 【Windows Message】MFC 通过F5,刷新桌面
//通过F5,刷新桌面 HWND hWndProgram = ::FindWindow( _T("Progman"), NULL); HWND hWndDefView = ::Fi ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---33
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- linux下轻松修改pdf文件
前几天使用firefox打印了一个网页,后来查看有很多页面都是评论,对我来说,实在没有什么用处,就想把多余的内容给删除了,后来,终于找到了一个工具:pdf mod非常不错的工具,直接打开文件,选择要删 ...
- Python学习杂记_6_字典常用操作
字典操作 字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的,常见操作如下: info = { 'name':'xiaoming', 'sex':'nan', ...