'

Аспектно-ориентированный подход на службе веб-приложений

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





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

Сравнение АОП и DI АОП & DI Оба добиваются слабой связанности в архитектуре Оба добиваются лучшего разделения функционала Оба разгружают часть проблем с основного кода 7 http://habrahabr.ru/blogs/net/123186/


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

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


Слайд 13

Демонстрация


Слайд 14

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


Слайд 15

Спасибо за внимание Цытович Павел Леонидович Fuse8, Южно-Уральский государственный университет Pavel.tsytovich@gmail.com http://twitter.com/Dr_P_Watson http://pavel-tsytovich.blogspot.com


×

HTML:





Ссылка: