第一章 初识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的一部分.它提供 ...
随机推荐
- ORA-00257归档日志写满的解决方法
背景: 在前一篇博客中我们提到了如何启动或关闭oracle的归档(ARCHIVELOG)模式,在我成功设定数据库为归档模式以后, 第二天再次尝试连接数据库,报错:ORA-00257.在网上找到了一圈资 ...
- RecyclerView添加头部和底部视图的实现
ListView是有addHeaderView和 addFooterView两个方法的. 但是作为官方推荐的ListView的升级版RecyclerView缺无法实现这两个方法. 那么如果使用Recy ...
- iOS--开发之手势解锁
本文主要介绍通过手势识别实现手势解锁功能,这个方法被广泛用于手机解锁,密码验证,快捷支付等功能实现.事例效果如下所示. 首先,我们先分析功能的实现过程,首先我们需要先看大致的实现过程: 1.加载九宫格 ...
- spring生命周期
Github地址 最近在整合mybatis-spring. 公司里面已经有一个叫做kylin-datasource的开发包,以前能够提供master和slave2个数据源,最近更新了2.0版本,支持自 ...
- DEV主从表
1.主从表隐藏表格展开按钮. 当主表内容不包含子表时候隐藏,主从表加号图标.效果如下图. 实现代码 private void gvMain_CustomDrawCell(object sender, ...
- Oracle定义varchar2()类型存储汉字的长度问题
varchar2最大是4000字节,那么就看你的oracle字符集:(select userenv('language') from dual;)如果字符集是16位编码的,ZHS16GBK,那么每个字 ...
- 通过XmlSerializer 实现XML的序列化与反序列化
通过XmlSerializer 我们可以十分简单的将Model与XML进行转换 官文在点这里 帮助类 using System; using System.Text; using System.Xml ...
- 【mysql】关于innodb中MVCC的一些理解
一.MVCC简介 MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代 ...
- javascript 特效实现(3)—— 鼠标滑过显示二级菜单效果
1. 关键代码:使用 switch 或 if 判断语句,改变对应的二级菜单显示方式为 block 或 none function selectTabMenu(i){ switch(i){ case 7 ...
- poj 3694 Network 边双连通+LCA
题目链接:http://poj.org/problem?id=3694 题意:n个点,m条边,给你一个连通图,然后有Q次操作,每次加入一条边(A,B),加入边后,问当前还有多少桥,输出桥的个数. 解题 ...