'

Метапрограммирование интерфейсов в ASP.NET MVC

Понравилась презентация – покажи это...





Слайд 0

Метапрограммирование интерфейсов в ASP.NET MVC Алексей Волков Сонда Технолоджи aivolkov.ru Вторая конференция .NET разработчиков


Слайд 1

Дублирование кода http://www.flickr.com/photos/popilop/331357312/


Слайд 2

Дублирование кода


Слайд 3

Дублирование кода


Слайд 4

Дублирование кода


Слайд 5

http://en.wikipedia.org/wiki/File:2000_core-repository02_hg.jpg


Слайд 6

Template Helpers + Shared Views


Слайд 7

Вариант Shared Views


Слайд 8

Вариант Shared Views


Слайд 9

Вариант Shared Views


Слайд 10

Вариант Shared Views


Слайд 11

Контроллеры в Shared Views


Слайд 12

Снова дублирование кода http://www.flickr.com/photos/kugelfisch/4663326851/


Слайд 13

Совершенствование Shared Views Наследование от базовых контроллеров Generic контроллеры


Слайд 14

Вариант generic-контроллеров http://aivolkov.ru/2010/10/ aspnet-mvc-and-generic-controllers/


Слайд 15

Вариант generic-контроллеров


Слайд 16

Избавление от «свалки» в Shared


Слайд 17

Generic-пути к View-файлам


Слайд 18

Generic-пути к View-файлам VirtualPathProviderViewEngine.FindView и VirtualPathProviderViewEngine. GetPathFromGeneralName


Слайд 19

Generic-пути к View-файлам string virtualPath = location .Format(name, controllerName, areaName); string urlPart = controllerContext.RouteData.Values[“urlPart"]; string virtualPath = location .Format(name, controllerName, areaName, urlPart);


Слайд 20

Generic-пути к View-файлам ViewLocationFormats = new[] { "~/Views/{1}/{3}/{0}.cshtml", "~/Views/{1}/{3}/{0}.vbhtml", "~/Views/{1}/{0}.cshtml", "~/Views/{1}/{0}.vbhtml", "~/Views/Shared/{0}.cshtml", "~/Views/Shared/{0}.vbhtml" };


Слайд 21

Generic-пути к View-файлам


Слайд 22

Плюсы от применения подобных подходов Заметно снижается дублирование кода Снижается себестоимость разработки Заметно уже при числе источников данных на одну generic-схему > 5


Слайд 23

Подводные камни Очень сложные схемы и интерфейсы Применение в неподходящих случаях


Слайд 24

Спасибо за внимание Алексей Волков Сонда Технолоджи me@aivolkov.ru twitter.com/AIVolkov


×

HTML:





Ссылка: