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

Презентация:



Advertisements
Похожие презентации
Microsoft TechDays Сергей Попов Независимый разработчик.
Advertisements

Аспектно-ориентированный подход на службе веб- приложений Цытович Павел Леонидович Fuse8, Южно-Уральский государственный университет
Проф. В.К.Толстых, Технологии разработки Internet- приложений ASP.NET MVC Framework– новая платформа Web-приложений ASP.NET MVC Framework.
Клиентская оптимизация – повышение производительности сайта под нагрузкой Арсен Фазылзянов fuse8 com 3-я конференция.NET разработчиков.
Тренинг ASP.NET MVC 3 Гайдар Магдануров Microsoft.
ASP.NET MVC Гелис Сергей. Epam Systems. Содержание ASP.NET MVC Сравнение ASP.NET MVC и WebForms Routing Controllers Views.
Онлайн курс «Web разработка на базе ASP.NET MVC» на study.smarly.netstudy.smarly.net Что такое Razor Типизация представления Мастер страница _ViewStart.cshtml.
Microsoft TechDays Сергей Попов Независимый разработчик.
Муниципальное общеобразовательное учреждение Деяновская средняя общеобразовательная школа Подготовила Алексеева Светлана Петровна ASP.
Антарктида Автор: Владимир Свиридов. Антарктида - шестой, открытый последним по счету, материк на крайнем юге нашей планеты. Антарктида, вместе с простирающейся.
Выполнила: Абдуллаева С.И. Проверила: Митющенко Е.В.
Автоматизированная система проведения турниров для школьников. Аристов Николай.
Open InfoSec Days Томск, 2011 Глава 1. Атаки на веб-приложения и методы защиты Занятие 3. File Inclusion.
Прагматический подход к разработке гибких программных систем Степан Родионов twitter.com/rodionovstepan Вторая конференция.NET разработчиков.
Тренинг ASP.NET MVC 3 Гайдар Магдануров Microsoft.
Поле чудес Сочи 2014 л Вид горнолыжного спорта слаом.
Название доклада Иван Иванов Иванов-софт twitter.com/ivanivanov.
Зимующие птицы. Список используемых источников: 1.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Microsoft TechDays Межов Александр Разработчик ПО ОАО ЧЭМК
Транксрипт:

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

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

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

Template Helpers + Shared Views

Вариант Shared Views

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

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

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

Вариант generic-контроллеров aspnet-mvc-and-generic-controllers/

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

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

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

VirtualPathProviderViewEngine.FindView и VirtualPathProviderViewEngine. GetPathFromGeneralName

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

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" };

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

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

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

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