Аспектно-ориентированный подход на службе веб- приложений Цытович Павел Леонидович Fuse8, Южно-Уральский государственный университет

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



Advertisements
Похожие презентации
Расширение функциональности с использованием метаданных и аспектно-ориентированного программирования Александр Межов ОАО ЧЭМК
Advertisements

Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework» Занятие 6 Мобильное представление и локализация Гайдар Магдануров
Лекция 1 MVC (Model-View-Controller) - это конструкционный шаблон, который описывает способ построения структуры приложения, сферы ответственности и взаимодействие.
Всевоволод Головизнин, MVC – паттерн проектирование, в котором бизнес - логика, управляющая логика и интерфейс разделены на три отдельных компонента.
Платформа разработки ASP.NET Гайдар Магдануров t: e: m: +7.
Паттерн проектирования «Model-View-Controller». Назначение паттерна К одной модели можно присоединить несколько видов, при этом не затрагивая реализацию.
Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework» Занятие 5 Погружение в MVC Framework Гайдар Магдануров
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
Model/View-архитектура CASE-пакета REAL-MV Тимофей Брыксин, гр. 545 Научный руководитель: А.Н.Терехов Рецензент: Д.В.Кознов.
Дизайн и Верстка Системы Организации Видео Архива (СОВА) МИЭМ, Пашинцев Иван, С-55.
Андрей Слепицкий Архитектор бизнес-решений Microsoft AR210.
Веб-решение или Толстый клиент? Сравнение, тенденции, архитектура Иван Бодягин MAS Elektronik AG.
MVVM pattern in Adobe Flex Докладчик: Мещеряков Сергей.
Обзор возможностей Инверсия управления Аспектно-ориентированное программирование.
Тренинг «Разработка веб-приложений с использованием ASP.NET MVC Framework» Занятие 3 Маршрутизация и контроллеры Гайдар Магдануров
Трехслойная архитектура приложений, основанных на использовании баз данных.
Первый опыт внедрения WPF в сложной системе (С++ и COM) Михаил Павлов Transas.
Исполнитель: Утяшева И.А. Научный руководитель: к.ф.-м.н. Винокур В.В.
Тренинг ASP.NET MVC 3 Гайдар Магдануров Microsoft.
IronRuby: внутренности и примеры использования Рахматиллаев Тимур IndyCode 3-я конференция.NET разработчиков 25 сентября 2011.
Транксрипт:

Аспектно-ориентированный подход на службе веб- приложений Цытович Павел Леонидович Fuse8, Южно-Уральский государственный университет 3-я конференция.NET разработчиков 25 сентября 2011

План Почему вообще появилась эта тема Паттерн «Стратегия» Стратегия привела к аспектам Как реализованы наши аспекты

Почему вообще появилась эта тема View Model Controller DB Множество Вариантов

Паттерн стратегия 4

От стратегии к аспектам 5 Формирование модели (MVC) Рассылка писем Чтение файлов конфигурации мониторинг транзакции Управление Windows Workflow Сквозная функциональность!

Аспект 6 аспект это повторно используемый компонент, который инкапсулирует поведение, необходимое множеству классов в проекте

Сравнение АОП и DI АОП & DI Оба добиваются слабой связанности в архитектуре Оба добиваются лучшего разделения функционала Оба разгружают часть проблем с основного кода 7

Сравнение АОП и DI АОП vs DI DI хорош, когда вы имеете зависимость от компонент, причем вам не важно как они реализованы АОП хорош, когда вам необходимо применить какое-то поведение к большому количеству элементов кода. Причем, целевой код не обязательно зависит от этого поведения 8

Наш аспект-фреймворк для ASP.NET MVC Основан на ActionFilter атрибутах ASP.NET MVC Требует реализации интерфейсов IAspectPredicate – условия при котором выполняется аспект IAspectAction – код аспекта, запускаемый при выполнении условия Привязывается к Action-методу с помощью атрибута Aspect Требует, чтобы контроллер наследовался от класса AspectController

[Aspect] 10 Условие выполнения аспекта Аспект Время выполнения (before,calltime,after)

Предикат 11 Определяет условие выполнение аспекта

Аспект 12 Этот метод содержащий код аспекта

Контроллер с поддержкой аспектов 13 Словарь для передачи данных между аспектами и между аспектами и контроллером Метод, запускающий выполнение аспектов calltime Метод-ловушка исключений в аспектах

ДЕМОНСТРАЦИЯ

Дальнейшее направление работы Поддержка транзакций (возможность отмены действия аспектов) Асинхронные аспекты

Спасибо за внимание Цытович Павел Леонидович Fuse8, Южно-Уральский государственный университет