1: Метапрограммирование интерфейсов в ASP. NET MVC Алексей Волков Сонда Технолоджи aivolkov. ru
2: Дублирование кода
3: Дублирование кода
4: Дублирование кода
5: Дублирование кода
7: Template Helpers Shared Views
8: Вариант Shared Views
9: Вариант Shared Views
10: Вариант Shared Views
11: Вариант Shared Views
12: Контроллеры в Shared Views
14: Совершенствование Shared Views Наследование от базовых контроллеров Generic контроллеры
15: Вариант generic-контроллеров http://aivolkov. ru/2010/10/aspnet-mvc-and-generic-controllers/
16: Вариант generic-контроллеров
17: Избавление от «свалки» в Shared
18: Generic-пути к View-файлам
19: Generic-пути к View-файлам VirtualPathProviderViewEngine. FindView и VirtualPathProviderViewEngine. GetPathFromGeneralName
20: Generic-пути к View-файлам string virtualPath location . Format(name, controllerName, areaName); string urlPart controllerContext. RouteData. ValuesurlPart"; string virtualPath location . Format(name, controllerName, areaName, urlPart);
21: 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" ;
22: Generic-пути к View-файлам
23: Плюсы от применения подобных подходов Заметно снижается дублирование кода Снижается себестоимость разработки Заметно уже при числе источников данных на одну generic-схему 5
24: Подводные камни Очень сложные схемы и интерфейсы Применение в неподходящих случаях
25: Спасибо за внимание Алексей Волков Сонда Технолоджи meaivolkov. ru twitter. com/AIVolkov