🗊 Презентация Аспектно ориентированное программирование в PHP

Нажмите для полного просмотра!
Аспектно ориентированное программирование в PHP, слайд №1 Аспектно ориентированное программирование в PHP, слайд №2 Аспектно ориентированное программирование в PHP, слайд №3 Аспектно ориентированное программирование в PHP, слайд №4 Аспектно ориентированное программирование в PHP, слайд №5 Аспектно ориентированное программирование в PHP, слайд №6 Аспектно ориентированное программирование в PHP, слайд №7 Аспектно ориентированное программирование в PHP, слайд №8 Аспектно ориентированное программирование в PHP, слайд №9 Аспектно ориентированное программирование в PHP, слайд №10 Аспектно ориентированное программирование в PHP, слайд №11 Аспектно ориентированное программирование в PHP, слайд №12 Аспектно ориентированное программирование в PHP, слайд №13 Аспектно ориентированное программирование в PHP, слайд №14 Аспектно ориентированное программирование в PHP, слайд №15 Аспектно ориентированное программирование в PHP, слайд №16 Аспектно ориентированное программирование в PHP, слайд №17 Аспектно ориентированное программирование в PHP, слайд №18 Аспектно ориентированное программирование в PHP, слайд №19 Аспектно ориентированное программирование в PHP, слайд №20 Аспектно ориентированное программирование в PHP, слайд №21 Аспектно ориентированное программирование в PHP, слайд №22 Аспектно ориентированное программирование в PHP, слайд №23 Аспектно ориентированное программирование в PHP, слайд №24 Аспектно ориентированное программирование в PHP, слайд №25 Аспектно ориентированное программирование в PHP, слайд №26 Аспектно ориентированное программирование в PHP, слайд №27 Аспектно ориентированное программирование в PHP, слайд №28 Аспектно ориентированное программирование в PHP, слайд №29 Аспектно ориентированное программирование в PHP, слайд №30 Аспектно ориентированное программирование в PHP, слайд №31 Аспектно ориентированное программирование в PHP, слайд №32 Аспектно ориентированное программирование в PHP, слайд №33 Аспектно ориентированное программирование в PHP, слайд №34 Аспектно ориентированное программирование в PHP, слайд №35 Аспектно ориентированное программирование в PHP, слайд №36 Аспектно ориентированное программирование в PHP, слайд №37 Аспектно ориентированное программирование в PHP, слайд №38 Аспектно ориентированное программирование в PHP, слайд №39 Аспектно ориентированное программирование в PHP, слайд №40 Аспектно ориентированное программирование в PHP, слайд №41 Аспектно ориентированное программирование в PHP, слайд №42 Аспектно ориентированное программирование в PHP, слайд №43 Аспектно ориентированное программирование в PHP, слайд №44 Аспектно ориентированное программирование в PHP, слайд №45 Аспектно ориентированное программирование в PHP, слайд №46 Аспектно ориентированное программирование в PHP, слайд №47 Аспектно ориентированное программирование в PHP, слайд №48 Аспектно ориентированное программирование в PHP, слайд №49 Аспектно ориентированное программирование в PHP, слайд №50 Аспектно ориентированное программирование в PHP, слайд №51 Аспектно ориентированное программирование в PHP, слайд №52 Аспектно ориентированное программирование в PHP, слайд №53 Аспектно ориентированное программирование в PHP, слайд №54

Содержание

Вы можете ознакомиться и скачать презентацию на тему Аспектно ориентированное программирование в PHP. Доклад-сообщение содержит 54 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Аспектно Ориентированное Программирование в PHP Щеваев “pachanga” Павел (pacha.shevaev@gmail.com)‏ BIT, г.Пенза
Описание слайда:
Аспектно Ориентированное Программирование в PHP Щеваев “pachanga” Павел (pacha.shevaev@gmail.com)‏ BIT, г.Пенза

Слайд 2


Аспектно ориентированное программирование в PHP, слайд №2
Описание слайда:

Слайд 3


Как жаль, что мы не живем в идеальном мире!
Описание слайда:
Как жаль, что мы не живем в идеальном мире!

Слайд 4


+
Описание слайда:
+

Слайд 5


Аспектно ориентированное программирование в PHP, слайд №5
Описание слайда:

Слайд 6


Аспектно ориентированное программирование в PHP, слайд №6
Описание слайда:

Слайд 7


Что является помехой?
Описание слайда:
Что является помехой?

Слайд 8


Аспектно ориентированное программирование в PHP, слайд №8
Описание слайда:

Слайд 9


Лоскутное одеяло сквозного функционала
Описание слайда:
Лоскутное одеяло сквозного функционала

Слайд 10


Аспектно ориентированное программирование в PHP, слайд №10
Описание слайда:

Слайд 11


Аспектно ориентированное программирование в PHP, слайд №11
Описание слайда:

Слайд 12


Аспектно ориентированное программирование в PHP, слайд №12
Описание слайда:

Слайд 13


Аспектно ориентированное программирование в PHP, слайд №13
Описание слайда:

Слайд 14


Аспектно ориентированное программирование в PHP, слайд №14
Описание слайда:

Слайд 15


Аспектно ориентированное программирование в PHP, слайд №15
Описание слайда:

Слайд 16


Непонятно? Немного теории (совсем чуть-чуть, честно!)‏
Описание слайда:
Непонятно? Немного теории (совсем чуть-чуть, честно!)‏

Слайд 17


Введение в АОП Gregor Kiczales + команда XEROX PARC + желание облегчить нам жизнь = AspectJ AspectJ( – “lingua franca” в мире АОП
Описание слайда:
Введение в АОП Gregor Kiczales + команда XEROX PARC + желание облегчить нам жизнь = AspectJ AspectJ( – “lingua franca” в мире АОП

Слайд 18


Базовые понятия JoinPoint PointCut Advice Introduction Aspect Weaving
Описание слайда:
Базовые понятия JoinPoint PointCut Advice Introduction Aspect Weaving

Слайд 19


JoinPoint JoinPoint - фундаментальное понятие АОП, под которым понимают любую четко идентифицируемую точку исполнения программы JoinPoint точки...
Описание слайда:
JoinPoint JoinPoint - фундаментальное понятие АОП, под которым понимают любую четко идентифицируемую точку исполнения программы JoinPoint точки являются кандидатами возможной инъекции сквозного функционала

Слайд 20


JoinPoint Возможные JoinPoint точки в примере: выполнение метода credit()‏ доступ к атрибуту balance
Описание слайда:
JoinPoint Возможные JoinPoint точки в примере: выполнение метода credit()‏ доступ к атрибуту balance

Слайд 21


PointCut PointCut – набор(срез) JoinPoint точек, удовлетворяющих определенному условию. PointCut бывают именованные и анонимные. PointCut – это некое...
Описание слайда:
PointCut PointCut – набор(срез) JoinPoint точек, удовлетворяющих определенному условию. PointCut бывают именованные и анонимные. PointCut – это некое подобие SQL запроса для JoinPoint точек Пример анонимного среза, захватывающего исполнение метода Account :: credit()

Слайд 22


Advice Advice - код, выполняемый для каждой JoinPoint точки, входящей в определённый срез PointCut. Advice может выполняться до (before), после...
Описание слайда:
Advice Advice - код, выполняемый для каждой JoinPoint точки, входящей в определённый срез PointCut. Advice может выполняться до (before), после (after) или вместо (around) JoinPoint точки. Advice схож с традиционным ООП методом

Слайд 23


Advice Пример Advice метода для анонимного PointCut среза
Описание слайда:
Advice Пример Advice метода для анонимного PointCut среза

Слайд 24


Introduction Introduction – инструкция для изменения статической структуры классов, интерфейсов и аспектов. Попробуем добавить метод setLog() во все...
Описание слайда:
Introduction Introduction – инструкция для изменения статической структуры классов, интерфейсов и аспектов. Попробуем добавить метод setLog() во все классы, которые начинаются со строки “Foo”

Слайд 25


Aspect Aspect - модуль в терминах АОП, некоторый аналог класса, который инкапсулирует в себе правила применения сквозного функционала. Aspect -...
Описание слайда:
Aspect Aspect - модуль в терминах АОП, некоторый аналог класса, который инкапсулирует в себе правила применения сквозного функционала. Aspect - конечный контейнер для всех АОП элементов: PointCut, Advice и Introduction. Aspect схож с ООП классом (также позволяет объявлять и использовать обычные методы и атрибуты)

Слайд 26


Aspect Пример аспекта(объединяем все вместе)‏
Описание слайда:
Aspect Пример аспекта(объединяем все вместе)‏

Слайд 27


Weaving Weaving – процесс «вплетения» аспектов в логику приложения. Weaving процесс может происходить на уровне исходных кодов или же на уровне...
Описание слайда:
Weaving Weaving – процесс «вплетения» аспектов в логику приложения. Weaving процесс может происходить на уровне исходных кодов или же на уровне виртуальной машины (в случае PHP, это уровень исполнения opcode инструкций).

Слайд 28


АОП - вид сверху(или сбоку?)‏
Описание слайда:
АОП - вид сверху(или сбоку?)‏

Слайд 29


Фух...с теорией покончено
Описание слайда:
Фух...с теорией покончено

Слайд 30


Средства АОП для PHP phpAspect – юная, но наиболее перспективная реализация АОП для PHP Интересная попытка клонировать AspectJ Аспекты вплетаются...
Описание слайда:
Средства АОП для PHP phpAspect – юная, но наиболее перспективная реализация АОП для PHP Интересная попытка клонировать AspectJ Аспекты вплетаются статически в код Автор Willliam Candillon aoPHP – некое подобие АОП Аспекты вплетаются «на лету» Замороченный способ использования: Apache -> mod_rewrite -> aoPHP C++ интерпретатор -> PHP …бр-р-р)‏ aspectPHP – форк aoPHP Не обновлялась с 2005 г Работает только с PHP-4.3.10 AOP Library for PHP – спорная эмуляция АОП средствами PHP, Автор некто Dmitry Sheiko runkit – PECL модуль, предоставляющий AOP Introduction возможности Переопределение констант, функций, методов, классов, интерфейсов Эх, жаль, что не в core Автор Sara Golemon

Слайд 31


Установка: Установка:
Описание слайда:
Установка: Установка:

Слайд 32


Принцип действия: Принцип действия:
Описание слайда:
Принцип действия: Принцип действия:

Слайд 33


Базовое использование: Базовое использование:
Описание слайда:
Базовое использование: Базовое использование:

Слайд 34


АОП поддержка: АОП поддержка: PointCut Advice Introduction Aspect
Описание слайда:
АОП поддержка: АОП поддержка: PointCut Advice Introduction Aspect

Слайд 35


“HelloWorld” (ну куда же без него)‏ src/hello.php
Описание слайда:
“HelloWorld” (ну куда же без него)‏ src/hello.php

Слайд 36


Пример аспекта src/trace.aspect.php
Описание слайда:
Пример аспекта src/trace.aspect.php

Слайд 37


В действии Вплетение аспектов
Описание слайда:
В действии Вплетение аспектов

Слайд 38


«За кулисами» bin/hello.php
Описание слайда:
«За кулисами» bin/hello.php

Слайд 39


Аспектно ориентированное программирование в PHP, слайд №39
Описание слайда:

Слайд 40


Yikes! 
Описание слайда:
Yikes! 

Слайд 41


Достоинства Достоинства “Это” сделали для PHP! Наиболее схожая с AspectJ функциональность
Описание слайда:
Достоинства Достоинства “Это” сделали для PHP! Наиболее схожая с AspectJ функциональность

Слайд 42


Недостатки Недостатки На данный момент не подходит для production – некоторые аспекты вплетаются с ошибками (хотя чего мы хотим от версии 0.1.1?)‏...
Описание слайда:
Недостатки Недостатки На данный момент не подходит для production – некоторые аспекты вплетаются с ошибками (хотя чего мы хотим от версии 0.1.1?)‏ Функционально неполная реализация АОП (работа с аннотациями, расстановка приоритетов применения аспектов, наследование аспектов и проч.)‏ Генерируемый код накладывает негативный отпечаток на скорость работы Не используется уровень виртуальной машины

Слайд 43


АОП – еще одна «серебряная пуля»? Конечно же нет, такой «пули не существует» Естественно есть ярые фанаты и отчаянные противники АОП АОП, в самом...
Описание слайда:
АОП – еще одна «серебряная пуля»? Конечно же нет, такой «пули не существует» Естественно есть ярые фанаты и отчаянные противники АОП АОП, в самом деле, позволяет посмотреть на проблему сквозного функционала на качественно ином уровне В то же время АОП местами нетривиальная и непрозрачная методология Как всегда, истина где-то посередине

Слайд 44


АОП - достоинства Эффективно адресует проблему сквозного функционала Облегчает повторное использование кода - слабо связанные между собой аспекты...
Описание слайда:
АОП - достоинства Эффективно адресует проблему сквозного функционала Облегчает повторное использование кода - слабо связанные между собой аспекты легко взаимозаменять Позволяет отложить принятие спорного решения, касающегося работы всего приложения, на «потом»

Слайд 45


АОП - недостатки Неочевидность происходящего (слишком много “магии”). Аспекты сложно (невозможно?) протестировать отдельно от сплетенного кода....
Описание слайда:
АОП - недостатки Неочевидность происходящего (слишком много “магии”). Аспекты сложно (невозможно?) протестировать отдельно от сплетенного кода. Требуются отличные от ООП паттерны проектирования аспектов

Слайд 46


«А оно вообще надо?» - решать исключительно вам :-)‏
Описание слайда:
«А оно вообще надо?» - решать исключительно вам :-)‏

Слайд 47


Ссылки по теме AspectJ – phpAspect – aoPHP - aspectPHP - AOP Library for PHP - PECL runkit –
Описание слайда:
Ссылки по теме AspectJ – phpAspect – aoPHP - aspectPHP - AOP Library for PHP - PECL runkit –

Слайд 48


Вопросы?
Описание слайда:
Вопросы?

Слайд 49


Аспектно ориентированное программирование в PHP, слайд №49
Описание слайда:

Слайд 50


Аспектно ориентированное программирование в PHP, слайд №50
Описание слайда:

Слайд 51


Аспектно ориентированное программирование в PHP, слайд №51
Описание слайда:

Слайд 52


Аспектно ориентированное программирование в PHP, слайд №52
Описание слайда:

Слайд 53


Аспектно ориентированное программирование в PHP, слайд №53
Описание слайда:

Слайд 54


Приходи к нам работать! Новое направление компании БИТ – MMO игры: Высоконагруженные серверные приложения (Linux, C++)‏ Artificial Intelligence Adobe...
Описание слайда:
Приходи к нам работать! Новое направление компании БИТ – MMO игры: Высоконагруженные серверные приложения (Linux, C++)‏ Artificial Intelligence Adobe Shockwave 3D Но нам нужны и талантливые web разработчики: OOP PHP(Limb3)‏ MySQL Ajax etc.. contacts@bit-creative.com



Похожие презентации
Mypresentation.ru
Загрузить презентацию