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的更多相关文章

  1. Java 面向对象编程——第一章 初识Java

      第一章    初识Java 1.  什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...

  2. 第一章 初识shiro

    shiro学习教程来自开涛大神的博客:http://jinnianshilongnian.iteye.com/blog/2018936 第一章 初识shiro 简单了解shiro主要记住三张图即可. ...

  3. Cocos2d-x 3.0 红孩儿私家必修 - 第一章 初识Cocos2d-x 3.0project

    第一章    初识Cocos2d-x 3.0project Cocos2d-x 3.0出来了,听说与之前版本号相比修改较大 做为一个游戏开发人员.我们应该欢迎Cocos2d-x持续的更新和强大,Coc ...

  4. C语言编程入门之--第一章初识程序

    第一章 初识程序 导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言 ...

  5. Java 第一章 初识Java

    第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...

  6. 第一章 初识数据库Mysql

    初识数据库Mysql(my)   在企业中 percona: 一.数据库基础知识 Mysql是一个开放源代码的数据库管理系统(DBMS),它是由Mysql AB公司开发.发布并支持的.Mysql是一个 ...

  7. 第一章 初识Mysql

    Mysql是一个开放源代码的数据库管理系统(DBMS),它是由MySQL AB 公司开发.发布并支持的. 登录 -- mysql #本地登录,默认用户root,空密码,用户为root@127.0.0. ...

  8. Windows Forms编程实战学习:第一章 初识Windows Forms

    初识Windows Forms 1,用C#编程 using System.Windows.Forms;   [assembly: System.Reflection.AssemblyVersion(& ...

  9. WPF从入门到放弃系列第一章 初识WPF

    什么是WPF WPF(Windows Presentation Foundation)是微软推出的基于Windows Vista的用户界面框架,属于.NET Framework 3.0的一部分.它提供 ...

随机推荐

  1. 实验12:Problem E: 还会用继承吗?

    Home Web Board ProblemSet Standing Status Statistics   Problem E: 还会用继承吗? Problem E: 还会用继承吗? Time Li ...

  2. IOS 网络浅析 (二 网络异步请求)

    学习网络,无论是C/S还是B/S首要的当然是向服务器发送请求,并得到响应,么有请求没有响应,那就不叫做网络了. 这边文章向大家介绍境界一下网路异步请求. *大家不要觉得我写的知识点太零散,我只是想给大 ...

  3. iOS开发之网络编程--获取文件的MIMEType

    前言:有时候我们需要获取文件的MIMEType的信息,下面就介绍关于获取MIMEType的方法. 1.直接百度搜索关键字"MIMEType",你会找到,然后查吧: 2.用代码获取文 ...

  4. TXT记事本转换PDF文件

    使用的方式为,读取TXT记事本的内容,然后写入创建的PDF文件. static void Main(string[] args) { const string txtFile = "D:\\ ...

  5. openstack kilo compute更新后报错IncompatibleObjectVersion: Version 1.2 of PciDeviceList is not supported

    前几天在compute节点更新openstack的包后,发现报错IncompatibleObjectVersion: Version 1.2 of PciDeviceList is not suppo ...

  6. nim3取石子游戏 (威佐夫博弈)

    http://www.cnblogs.com/jackge/archive/2013/04/22/3034968.html 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有 ...

  7. Linux Shell 03 条件测试

    条件测试 方式一:在Bash中 test命令和[]是等价的. test命令: if test $n1 -eq $n2 then echo "The two number are equal& ...

  8. 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    外行指挥内行的结果就是,你必须按照他想的去做,等做不出来再用自己的办法,而且必须如此. -------------------------------------------------------- ...

  9. oracle的增删改查语句

    创建一个表: cteate table 表名(列1 类型, 列2 类型);查看表结构 desc表名添加一个字段 alter table 表名 add(列类型);修改字段类型 alter table 表 ...

  10. poj 2942 Knights of the Round Table 圆桌骑士(双连通分量模板题)

    Knights of the Round Table Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 9169   Accep ...