ASP.NET MVC 3
Денис РезникРуководитель департамента веб-разработкиDigital Cloud Technologies
Model-View-Controller
Model
ControllerView
Создание веб-приложений с использованием шаблона «Model-View-Controller»
Чёткое разделение обязанностей между компонентамиУменьшение связности между компонентамиУпрощение unit-тестировния
Полный контроль над разметкойМеханизм роутингаПоддержка существующей инфраструктуры ASP.NET
ASP.NET MVC 1.0
Валидация при помощи DataAnnotationsУлучшена производительностьСтрого типизированные помощникиПредставление для удаления данныхЭкранирование строк при рендерингеФункционал Areas...
ASP.NET MVC 2.0
Что дальше?
MVC 3 Preview 1
Razor
MVC 3 Preview 1
Razor
Новый движок представлений
Компактный синтаксис
Razor
aspx
Компактный синтаксис
aspx
Razor
Компактный синтаксис
Layout Pages
Layout Pages
Декларативные HTML-хелперы
Передача строковых шаблонов, как параметров
Другие изменения
MVC 3 Preview 1
Динамическое свойство ViewModel
old
new
Глобальные фильтры
Поддержка новых (.Net 4.0) атрибутов DataAnnotations (например DisplayAttribute)Улучшение ValidationAttribute Поддержка нового интерфейса IValidatableObject
Улучшения валидации
HttpNotFound
Возвращает 404 not found
RedirectToActionPermanent()RedirectToRoutePermanent()RedirectPermanent()
Возвращает 301 redirect permanently
RedirectToActionPermanent
HttpStatusCodeResult
Встроенный JSON bindingПозволяет Action методам принимать json и преобразовывать данные json к объекту, который задан в параметре Action метода.
ASP.NET MVC 3 P1 поддерживает DIControllers (registering & injecting controller factories, injecting controllers)Views (registering & injecting view engines, injecting dependencies into view pages)Action Filters (locating & injecting filters
Планируется поддержка DIModel Binders (registering & injecting)Value Providers (registering & injecting) Validation Providers (registering & injecting)Model metadata Providers (registering & injecting)
Dependency Injection
Dependency Injection, Service Locator
Dependency Injection, Service LocatorAsp.net mvc 3 поддерживает Common Service locator library и любой DI контейнер, который реализует интерфейс из CLS library:Castle Windsor Adapter Spring .NET Adapter Unity Adapter StructureMap Adapter Autofac Adapter MEF Adapter .net 4.0 LinFu Adapter
Полезные ссылки
Introducing ASP.NET MVC 3 (Preview 1) - http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspxIntroducing “Razor” - http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspxASP.NET MVC 3 Service Location - http://bradwilson.typepad.com/blog/2010/07/service-location-pt1-introduction.html
Вопросы
?Denis ReznikHead of Web Development department at DCTTrainer at Microsoft Innovation CenterMicrosoft MVP (SQL Server)Microsoft Certified [email protected]://twitter.com/DenisReznikhttp://dev.net.ua/blogs/denisreznik/MCPD - Web Developer 4MCITP – Database Developer 2008MCTS - .NET Framework 4, Web ApplicationsMCTS - SQL Server 2008, Database DevelopmentMCTS - .NET Framework 4, Data Access with ADO.NETMCTS - SQL Server 2008, Implementation and Maintenance