MVC学习笔记1 MVC概述
MVC概述
MVC三种角色
– Model: 用于存储数据的组件(与领域模型概念不同)。
– View: 根据Model数据进行内容展示的组件
– Controller:接受并处理用户指令(操作Model),选择一个View并输出内容。
MVC概述:两种分离
• View和数据(Model)分离
–能够为相同的Model开发不同的View进行展示
–分离可视与不可视得组件,能够对Model进行独立测试(只有View到Model的单向引用)
• View和表现逻辑(Controller)分离
–分离逻辑与具体展示,能够对逻辑进行独立测试(只有Controller到View的单向引用)
MVC与三层架构
• MVC与三层架构类似?
– View – UI Layer
– Controller – BL Layer
– Model – DA Layer
• 其实不然
– MVC是表现模式(Presentation Pattern)
–三层架构是架构模式(Architecture Pattern)
– 没有太多可比性
MVC之间无依赖关系,MVC之间是协作关系,没有层次的关系。MVC不是分层。
WebForms vs ASP.NET MVC
• WebForms的优点
– 将Web开发抽象成一个组件模型
– 使用方便,入门容易
–使控件产业大大加强
• WebForms的缺点
–封装太强——这还是Web开发吗?
– 入门容易,用好难
– 不易进行单元测试,前后台不易配合
• 不过WebForms也在成长
ASP.NET MVC的优势
• 直接,Web开发就是Web开发
• 易于对界面逻辑进行单元测试
– Design for testability
• 易于后台与前台开发人员的配合
• ASP.NET MVC是在ASP.NET平台下开发Web应用程序的另一选择,并非为了取代WebForms。
ASP.NET MVC的特点
• 一切都是可替换的
– ViewEngine
– Action Filter
• 一切都是可测试的
• 公开源代码
– 可以修改
–不可重新发布
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
//这是一个规则,表示如果抛出异常将由规定页面处理
[HandleError]
/**////
/// HomeController对应Views中的Home文件夹
///
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
// .return View();表示要展现一个aspx页面。
//默认情况下显示同名aspx页面:Views/Home/Index.aspx
//当然你也可以自己指定,例如return View("index1")
//就是显示Views/Home/Index1.aspx
return View();
}
public ActionResult About()
{
return View();
}
}
}
转载于:https://www.cnblogs.com/dupeng0811/archive/2009/06/04/1495958.html
MVC学习笔记1 MVC概述相关推荐
- Spring MVC 学习笔记 对locale和theme的支持
Spring MVC 学习笔记 对locale和theme的支持 Locale Spring MVC缺省使用AcceptHeaderLocaleResolver来根据request header中的 ...
- .NET MVC 学习笔记(一)— 新建MVC工程
一..NET MVC 学习笔记(一)-- 新建MVC工程 接触MVC有段时间了,一直想找机会整理一下,可是限于文笔太差,所以一直迟迟羞于下手,想到最近做过的MVC项目也有一些了,花点时间整理一下方便以 ...
- Spring MVC 学习笔记一 HelloWorld
Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...
- 用ajax做级联操作,学习笔记之MVC级联及Ajax操作
由于刚转型到MVC,MVC的架构模式很多不是很清楚,比如今天就想做个级联的操作,因为之前的ASP.NET的方式是通过:控件-->添加事件-->后台编写级联事件进行触发,但是这个MVC就不同 ...
- 从零写一个具有IOC-AOP-MVC功能的框架---学习笔记---11. MVC功能之http请求处理器的编写---简易框架最后一公里!
从零写一个具有IOC-AOP-MVC功能的框架-学习笔记 专栏往期文章链接: IOC功能相关章节: 从零写一个具有IOC-AOP-MVC功能的框架-学习笔记-01.项目初始化 从零写一个具有IOC-A ...
- RN学习笔记01:概述、特点与环境搭建
RN学习笔记01:概述.特点与环境搭建 一.RN概述 React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 Reac ...
- IOS学习笔记03---C语言概述
IOS学习笔记03---C语言概述 0 3.C语言1-C语言概述 qq交流群:创梦技术交流群:251572072 创梦网络赚钱群:2483 ...
- MVC学习一:MVC简单流程
MVC学习一:MVC初次接触 1.MVC简单流程 1.1.服务器接收客户端请求后,解析URL(根据 路由表里配置的URL来分析 类名(控制器名)和方法名)根据请求的类名,创建对应的控制器类对象,并调用 ...
- 知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别
知识图谱·概念与技术--第1章学习笔记--知识图谱概述--知识图谱的概念,与传统语义网络的区别 知识图谱的概念,与传统语义网络的区别 狭义概念 作为语义网络的内涵 与传统语义网络的区别 优点 缺点 与 ...
最新文章
- AI视频行为分析系统项目复盘——技术篇2:视频流GPU硬解码
- 为帐户创建一个Apex触发器,以根据自定义字段将送货地址邮政编码与账单地址邮政编码匹配
- linux中创建目录树,如何在C/Linux中创建目录树?
- java各个版本的特性_Java各个版本的新特性
- c++如何编写线程安全的DLL
- 渗透测试攻击(一)Arp中间人攻击 伪装网关 截获 上网信息用户名密码
- 关于 WCF Binding 中 OpenTimeout, CloseTimeout, SendTimeout, ReceiveTimeout 的解释
- 无线通信与编码_Rake接收机_三种合并算法_MATLAB仿真代码
- Open vSwitch: Provider 网络
- PCB生产工艺流程博大精深
- 计算机网络网线制作工具有,网线制作工具 网线水晶头制作过程详解(视频+图文教程)...
- Star Way To Heaven 二分 + 并查集 + Prime
- 追踪算法MUSTer体验
- java entries_Java ZipFile entries()用法及代码示例
- java 自幂数_java计算自幂数和水仙花数
- Winsock 的初始化
- 是否有 API 可供云对接?
- html列表太多转为下滑菜单,利用CSS过渡属性Transition制作缓缓弹出的纯CSS下拉菜单...
- Android SDK安装及配置模拟器
- 上证50成分股聚类可视化
热门文章
- foreach语句的的解析
- 【转】解析.Net框架下的XML编程技术
- 让vs2008支持jQuery的智能提示!
- VS2012 颜色配置成黑色
- 求1+2+3+...+n
- opencv连续读图
- 互补输出级采用共集形式是为了使_天津大学胡文平《先进材料》:溶液法制备厘米级高度取向有机晶体阵列,可用于高性能有机场效应晶体管...
- VS2010发布、打包安装程序超全超详细
- 为什么配置了vsftpd.conf文件,用户还是可以访问上级目录?
- endnote能自动翻译吗_自动挡和手自一体有啥区别?从外表能看出一辆车是哪种变速箱吗?...