一 基本概念和项目中的使用心得
1,Model层:
定义一些数据模型. 项目中使用EF(升级版的linq to sql)框架实现数据库和对象的映射 一个DbContext类就可以完成所有增删改查;可以将数据库表直接生成对应的实体类,包含数据的有效性验证,也可以先定义好事体类,通过模型来自动创建数据库
2,View层:
界面显示,用户通过view层与程序交互,项目中使用了Razor视图引擎,跟WebForm的标签定义方式不太一样 如: ”@”符号代替”<% %>”代码块 更加简洁
3,Controller层:
定义了程序的应用逻辑。用户通过View发送操作命令给Controller,由Controller按照程序设计的逻辑来更新Model定义的数据,并将操作结果通过View返回给用户.项目中:Controller层定义了一个一个Action,返回ActionResult处理结果给页面
4,MVC与WebForm区别
优点: 1,层层分离(WebForm类似于将View层和Controller层合并在一起),降低耦合度便于重用,扩展,调试,后期维护;2,没有使用server-based forms,所以控制起来的会更加灵活,页面更加干净,运行效率高,没有了WebFrom中的ViewState(当然我以前的WebForm项目也基本不用了);3,强大的路由机制,可自定路由,更容易支持SEO,简洁方便 4,强类型view实现,更安全,更高效
缺点: 1,WebFrom更轻量级,在做些小的项目或功能时更加方便, 2,自定义控件,事件模型的支持(希望早点从MVC找到更合理的解决办法)
项目介绍:
这是微软提供的 MusicStore学习项目,使用 ASP.NET MVC3 完成,视图部分使用Razor 引擎,数据库访问使用 EF CodeFirst 开发环境 VS2010 SQLServer2008
功能主要包括:购物,结账和管理