1 / 16

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

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

rafiki
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

More Related