对MVC的初步认识
ASP.NET MVC特色与优点
MVC (ModelViewController)把一个web应用分成了三个部分:model view和controller。ASP.NET MVC框架提供了一个可以代替asp.net web窗体的基于mvc的应用。
ASP.NET MVC概述·mvc的优点:
1.通过把项目分成model view和controller,使得复杂项目更加容易维护。
2.没有使用view state和服务器表单控件,可以更方便的控制应用程序的行为
3.应用程序通过controller来控制程序请求,可以提供丰富的url重写。
4.对单元测试的支持更加出色
5.在团队开发模式下表现更出众
ASP.NET MVC概述·web窗体的优点:
1.采用事件驱动模式来控制应用程序请求,由大量服务器控件支持
2.采用页面控制机制,可以为单个页面添加事件处理函数。
3.使用view state和服务器端页面,使管理页面状态信息更加轻松。
4.对人数较少的想使用服务器端控件的开发团队,使用起来更加方便
5.开发起来比mvc模式要轻松简单一些
ASP.NET MVC概述mvc框架特色:
1.分离任务(输入逻辑,业务逻辑和显示逻辑),易测性和默认的测试驱动组件。所有mvc用到的组件都是基于接口并且可以被mock对象测试到,你可以不必在asp.net进程中运行controller就可以使用测试。使得测试更加快速和简捷。
2.可扩展的简便的框架。mvc框架被设计用来更轻松的移植和定制功能。你可以加入自己的视图引擎,url重写策略。重载action方法等。mvc也支持Dependency Injection (DI) and Inversion of Control (IOC)
3.强大的url重写机制让你更方便的建立容易理解和可搜索的url。url可以不包含任何文件扩展名,并且可以重写url使其对搜索引擎更加友好。
4.可以使用asp.net现有的页面标记、用户控件、模板页。你可以使用嵌套模板页,嵌入表达式,声明服务器控件、模板,数据绑定、定位等等。
5.对现有的asp.net程序的支持,mvc让你可以使用如窗体认证和windows认证、url认证、组管理和规则、输出、数据缓存、session、profile 、health monitoring、配置管理系统、provider architecture特性。
在MVC3.0中更是添加了新的视图引擎Razor。这使得Web的界面代码显得更简洁。
MVC3.0的新特性:
1、控制器的改进:允许设置全局的Action过滤器。设置全局的Action只需要在Global.asax文件中的RegisterGlobalFilters方法的GlobalFilterCollection中做添加即可。例如:filters.Add(new HandleErrorAttribute());
2、新的 ViewBag 属性。MVC2 中的控制器支持 ViewData 属性,允许通过后绑定的字典将数据传送给视图模板,在 MVC3 中,你可以通过 ViewBag 来更加简单的完成。例如:在MVC2.0中的ViewData["message"]="message";在MVC3.0中可以这要实现ViewBag.message="message";
3、新的 ActionResult 类型。
4、JavaScript和Ajax进行改进。默认情况下,在 MVC3 中,Ajax 和验证使用不引人注目的 unobtrusive 的 JavaScript 方式。
5、默认启用了客户端验证,ASP.NET 3 通过一个新的标签 RemoteAttribute 对 jQuery Validation 插件的远程验证提供支持。
6、JSON 绑定支持。 MVC3 包含内置的 JSON 绑定支持,允许 Action 方法接收和发送 JSON编码的数据 。
7、依赖注入Dependency Injection 的改进(此方面不了解,需要进一步学习了解)
8、MVC3.0除了支持对整页的输出缓存外,还添加了部分页的输出缓存。