第一章 初识MVC4
1、MVC模式
Mvc将应用程序分离为三个部分:
- Model:是一组类,用来描述被处理的数据,同时也定义这些数据如何被变更和操作的业务规则。与数据访问层非常类似。
- View:是一种动态生成HTML的模板,定义程序的用户界面如何显示。
- Controller:是一组类,用来处理来自用户的信息,全部程序流和具体的程序逻辑,通常以Controller为后缀。
2.MVC4新特性:
- Web API。
- 增强的项目模版。
- 移动项目模板使用jQuery Mobile。
- 显示模式(Display Modes)
- 异步控制器。
- Bundling and minification
3.MVC4的需求:
开发工具为:Visual Studio 2012,Visual Studio 2010 SP1,Visual Web Developer 2010 Express SP1。
4.安装MVC4
Visual Studio 2012本身就包含MVC4另外无需安装。
如果是Visual Studio 2010,Web Platform 安装: http://www.microsoft.com/web/gallery/install.aspx?appid=MVC4VS2010
可执行安装包:http://go.microsoft.com/fwlink/?LinkID=243392
5.服务器上安装MVC4
服务器上安装MVC4环境与客户端一样。
如果服务器上没安装MVC4,那么用MVC4开发的程序能运行么?答案是当然可以。MVC4的所有必要组件都在包含在了bin文件夹。难怪体积会那么大,其实服务器上有MVC4的运行环境程序部署在服务器的时候可以这些组件完全可以删掉。
6.创建MVC4应用程序
本来不像说这个的,那是阿里的老太婆才会做的。
新建项目-选择模版
- 空:就是一个空项目,基本的组件和目录结构还是有的。
- 基本:一个最低限度的模板,有基本的文件夹,css,MVC应用程序的基本结构。
- Internet应用程序:一个常用足够丰富的模板,包含可账管理功能(依赖ASP.NET Membership),创建后就可直接运行。
- Intranet应用程序:与Internet应用程序一样只是使用的Windows账户。
- 移动应用程序:专门针对移动设备的模版,包含移动视觉效果,触摸控件,支持Ajax导航。
- WEB API:专门针对HTTP services的模板。
呜呜,这个每次创建的时候都纠结死,不知道啥意思,要多谢洞庭夕照大哥的分享,嘿嘿,又拍马屁了。。。。
7、MVC4项目的结构
创建项目会自动添加一些文件和文件夹,Internet应用程序模板创建完默认有8个顶级目录
目录
|
用途
|
Controllers
|
放置控制器类
|
Models
|
放置数据描述、操纵类和业务对象类
|
Views
|
放置视图
|
Scripts
|
放置JavaScript脚本
|
Images
|
放置图像
|
Content | 放置css和除了JavaScript脚本,图像以外的东西 |
Filters | 放置过滤器代码 |
App_Data | 放置数据存数文件 |
App_Start | 放置配置文件代码 |
默认重生成的这些目录结构提供了一个清晰的目录结构,但并不是必须的,可以调整,像大型项目中国往往会把数据、业务逻辑等放到单独的一个项目中。
默认情况下Controllers目录自动创建两个类HomeController和AccountController。
Views目录下有3个子目录/Account , /Home,和/Shared。
Content目录下有一个式样。
Scripts目录下生成一些jQuery相关的脚本。
MvcMusicStore.Tests 项目会生成两个测试类。(Visual Studio Unit Test只在Visual Studio 2012 Professional以上的版本才有)
生成的默认功能:主页、关于、登陆、登出、注册及一个未处理错误的页面。
ASP.NET MVC的约定
MVC应用程序默认遵循一些约定,像:视图文件默认的目录为\Views\[ControllerName]\[ActionName].cshtml
约定胜于配置
意味着我们可以根据经验(约定)编写应用程序而不需要进行配置。别人也可以更容易理解程序。
- 控制器都以Controller为后缀并且保存在Controllers目录。
- Views目录存放应用程序的视图。
- 视图的路径为Views/控制器名称/,但有一个共享目录 /Views/Shared/可以自由存放视图。
约定可以简化沟通
- 你不需配置计算机就会知道如何来执行
- 你的程序容易被其他人员浏览、阅读和调试、维护。
总结:了解了mvc的发展,结构,环境、约定及如何创建MVC4应用程序,可以更好的理解和学习MVC4。
第一章 初识MVC4的更多相关文章
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- 第一章 初识shiro
shiro学习教程来自开涛大神的博客:http://jinnianshilongnian.iteye.com/blog/2018936 第一章 初识shiro 简单了解shiro主要记住三张图即可. ...
- Cocos2d-x 3.0 红孩儿私家必修 - 第一章 初识Cocos2d-x 3.0project
第一章 初识Cocos2d-x 3.0project Cocos2d-x 3.0出来了,听说与之前版本号相比修改较大 做为一个游戏开发人员.我们应该欢迎Cocos2d-x持续的更新和强大,Coc ...
- C语言编程入门之--第一章初识程序
第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...
- Java 第一章 初识Java
第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...
- 第一章 初识数据库Mysql
初识数据库Mysql(my) 在企业中 percona: 一.数据库基础知识 Mysql是一个开放源代码的数据库管理系统(DBMS),它是由Mysql AB公司开发.发布并支持的.Mysql是一个 ...
- 第一章 初识Mysql
Mysql是一个开放源代码的数据库管理系统(DBMS),它是由MySQL AB 公司开发.发布并支持的. 登录 -- mysql #本地登录,默认用户root,空密码,用户为root@127.0.0. ...
- Windows Forms编程实战学习:第一章 初识Windows Forms
初识Windows Forms 1,用C#编程 using System.Windows.Forms; [assembly: System.Reflection.AssemblyVersion(& ...
- WPF从入门到放弃系列第一章 初识WPF
什么是WPF WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供 ...
随机推荐
- Engine中如何实现先居中显示要素再闪烁
[解决办法]:需要在要素居中显示之后.闪烁之前执行IScreenDisplay.UpdateWindow强制全刷,如: //居中显示要素 IActiveView actView = axMapCont ...
- Device Channels in SharePoint 2013
[FROM:http://blog.mastykarz.nl/device-channels-sharepoint-2013/] One of the new features of SharePoi ...
- 每日vim插件--vim中的文本对象及相关插件
最近在个人博客上 http://foocoder.com 每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...
- iOS多线程-05-多图下载
效果图 常见问题及解决方法 图片重复下载 将内存保存在内存或沙盒中. 若下载的图片量较大,则会出现UI界面不流畅的现象 在子线程中执行下载操作,然后回到主线程成中进行UI界面的刷新. 由于cell的循 ...
- android network develop(3)----Xml Parser
Normally, there are three type parser in android. Xmlpullparser, DOM & SAX. Google recomand Xmlp ...
- 利用 cos 组件实现jsp中上传附件
需求:在web功能中附件上传功能为最基本的功能之一,所以用cos组件做了一个附件上传的demo.附件上传功能的实现可以利用其它的java组件实现,相关资料网上比较多. 说明步骤:下载组件并安装 --& ...
- Effective Java 06 Eliminate obsolete object references
NOTE Nulling out object references should be the exception rather than the norm. Another common sour ...
- Progress Control with Text
原文链接:http://www.codeproject.com/Articles/80/Progress-Control-with-Text 重写的Progress 包括,设置bar前景背景颜色,设置 ...
- Linux Shell 02 流程控制语句
一.if语句格式:支持if/elif/else形式,支持嵌套 1. command执行成功(及退出状态为0)时,执行command2 2. 当判断条件为test命令时,判断结果为true时,执行com ...
- 【VB超简单入门】二、知识准备
在开始编程之前,需要先熟悉一下各种操作和术语,以后学习编程才能得心应手. 首先最重要的操作当然就是-电脑的开机关机啦~(开个玩笑哈哈),必须掌握软件的安装和卸载,还有能编写批处理程序对平时的使用也是很 ...