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类,是耦合在一起的,如果我们想从页面的服务器控件上获取值,则需要在它对应的cs文件中写控件名.的形式,这样当界面上更改了,代码中也得跟着改,要不就得新建一个窗体,把不变的部分Copy过来。

在MVC中:

.aspx文件和cs文件是分离的,一个控制器对应一组页面,比如,Index页面有变化,我们可以再新建一个页面Index,把原来的删掉,而控制器中的Index方法中的逻辑不需要改变;也可以建一个不同名字的页面,如MyIndex,然后在原来的Index方法,修改Return View,默认情况下,返回的View是和方法同名的,但是允许返回不同视图。不过这样,就不符合开闭原则了吧。

访问方式:

WebForm是在服务器的物理地址中查找具体的某个页面

MVC是查找Controller下的某个方法

其他:

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

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

  • 总结

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

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

时间: 2024-12-08 16:45:52

MVC总结--MVC简介以及和WebForm区别的相关文章

.Net Core MVC中过滤器简介

原文:.Net Core MVC中过滤器简介 在.Net Framework MVC 中有四种过滤器,授权过滤器(Authorize).Action 过滤器.结果过滤器(Result).异常过滤器(Exception)四种过滤器.在.Net Core MVC中,有五种过滤器,授权过滤器.Action过滤器.异常过滤器.结果过滤器.资源过滤器,新增了资源过滤器. .Net Core MVC和.Net Framework MVC在基本使用上差别不大,主要的还是框架的差别.其中路由是个很重要的东西,参

Spring 框架基础(06):Mvc架构模式简介,执行流程详解

本文源码:GitHub·点这里 || GitEE·点这里 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,MVC分层有助于管理和架构复杂的应用程序 M:代表模型Model 模型就是数据,应用程序的核心. V:代表视图View 回显数据的界面,例如JSP就是用来展示模型中的数据. C:代表控制器Controller 控制器的作

ASP.NET MVC 教程-MVC简介

ASP.NET 是一个使用 HTML.CSS.JavaScript 和服务器脚本创建网页和网站的开发框架. ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面).MVC(Model View Controller 模型-视图-控制器).Web Forms(Web 窗体). 本教程介绍 MVC. MVC 编程模式 MVC 是三种 ASP.NET 编程模式中的一种. MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应

Spring MVC 3.0简介

1.    背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Tiles.iText 和 POI.Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术.Spring

[.net 面向对象程序设计深入](4).NET MVC ——谈谈MVC的版本变迁及新版本6.0发展方向

[.net 面向对象程序设计深入](4).NET MVC ——谈谈MVC的版本变迁及新版本6.0发展方向 1.关于MVC 在本篇中不再详细介绍MVC的基础概念,这些东西百度要比我写的全面多了,MVC从1.0到5.0的时间也不短了,很多人只是按照范例去使用MVC的一些基础功能,并没有更加深入的了解MVC.在这一系列中,我主要介绍MVC的一些原理和使用技巧,以及MVC的发展方向. 先说说MVC,首先他是一种设计模式,如果你百度为什么GOF23种设计模式中没有MVC,答案很有意思,如下: “在他们看来

Spring MVC 解读——<mvc:annotation-driven/>

Spring MVC 解读——<mvc:annotation-driven/> 一.AnnotationDrivenBeanDefinitionParser 通常如果我们希望通过注解的方式来进行Spring MVC开发,我们都会在***-servlet.xml中加入<mvc:annotation-driven/>标签来告诉Spring我们的目的.但是我们为什么这么做呢?这个标签是什么意思呢?它做了什么呢? 同样为了弄清楚这些问题, 像<context:component-sc

MVC系列——MVC源码学习:打造自己的MVC框架(四:自定义视图)

前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾.对于这个系列,通过学习源码,博主也学到了很多东西,在此还是把博主知道的先发出来,供大家参考. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6019719.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC

Spring MVC静态资源处理——&lt;mvc:resources /&gt; ||&lt;mvc:default-servlet-handler /&gt;

优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do . *.xhtml等方式.这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL. 如果将DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当

ASP.NET MVC 复制MVC项目代码到同一个项目的时候报错The request for ‘home’ has found the following matching controll

ASP.NET MVC 复制MVC项目代码到同一个项目的时候报错The request for 'home' has found the following matching controll "/"应用程序中的服务器错误. Multiple types were found that match the controller named 'home'. This can happen if the route that services this request ('{control