第一章 初识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的一部分.它提供 ...
随机推荐
- 破解 “PEDIY CrackMe 2007” 之 KeygenMe_1_by_boonz
系统 : Windows xp 程序 :KeygenMe_1_by_boonz 程序下载地址 :http://www.crackmes.de/users/boonz/keygenme_1_by_boo ...
- atitit.跨架构 bs cs解决方案. 自定义web服务器的实现方案 java .net jetty HttpListener
atitit.跨架构 bs cs解决方案. 自定义web服务器的实现方案 java .net jetty HttpListener 1. 自定义web服务器的实现方案,基于原始socket vs ...
- Linux平台Makefile文件的编写基础入门(课堂作业)
根据老师的要求,写一个超简单的makefile准备: 准备三个文件:file1.c, file2.c, file2.h file1.c: #include "file ...
- [Android]ViewPager如何只初始化一个页面
使用过ViewPager的应该都知道,ViewPager的setoffscreenpagelimit()方法,使用该方法可以设置在ViewPager滑动时,左右两侧各保存多少个页面,那我们直接设置se ...
- 基础学习day06---面向对象二---static,类的初始化和调用顺序、单例模式
一.static关键字 1.1.static关键字 静态:static用法:是一个修饰符,用于修饰成员(成员变量,成员函数)static 修饰的内容,所有对象共享当成员被静态修饰后,就多了一个调用方式 ...
- Android源码分析之HandlerThread
HandlerThread是一种特殊的Thread,也就是有Looper的thread,既然有looper的话,那我们就可以用此looper来 创建一个Handler,从而实现和它的交互,比如你可以通 ...
- 斯坦福iOS7公开课1-3笔记及纸牌Demo
1.MVC Model:模型 描述程序是什么,例如数据库操作之类的行文以及纸牌Demo里纸牌玩法都是写在Model这一层,通过Notification和KVO(后续文章会介绍)两种方式与Control ...
- 学习C语言的数组
C语言的数组 数组声明的实例:int num[3];只要记下这个模板就好. 不建议使用变量定义数组,如果使用了变量定义数组,作为数组的元素的个数,不初始化的情况下是随机值,如果初始化会直接报错 注意: ...
- 手把手集成web端手写公式功能
何为手写公式,很简单,就是在网页上可以写出数学公式,并能够生成Latex格式的字符串.废话不多说,直接走正题. 一.首先大家可以先去官网了解一下myscript这个插件 官方网站:https://de ...
- Effective Java 27 Favor generic methods
Static utility methods are particularly good candidates for generification. The type parameter list, ...