Аспектно-ориентированное программирование - миф или реальность?

d1m

Новичок
Аспектно-ориентированное программирование - миф или реальность?

Хотел бы узнать, кто пишет аспектно-ориентированный код на РНР.
Прочтя массу статей я пришел к выводу, что метод этот довольно универсален и чрезвычайно гибок, но вот к сожалению пока не встречал его реального применения (за исключением одной CMS - Site Sapiens).
Что господа форумчане думают по данному вопросу? Кто пробовал? Кто пробовал в production?
 

magic

lancer
О функционально-ориентированной разработке слышали и применяем, об аспектно-ориентированном программировании не знаю :)
 

master_x

Pitavale XXI wieku
применяю =) только в dev-версиях как лучшее средство для журналирования. еще аоп позволяет добавить некоторую специальную функциональность на лету, т.е. опять же поставил dev_version=true и приложение работает немного по-другому без прямого измененения кода. в production не применял и не собираюсь применять, так как считаю что аоп там -- зло. если привык к ооп, то аоп добавляет некую хаотичность в код. ведь по сути дела аспекты -- это некие заплатки на код, козникающие от непродуманности. кстати, скоро на всеобщее обозрение выложу библиотеку для аоп, которая довольно-таки сильно отличается от остальных... следи за оффтопиком =)
 

d1m

Новичок
Автор оригинала: master_x
ведь по сути дела аспекты -- это некие заплатки на код, козникающие от непродуманности.
Хм, я бы так не сказал.
Схема
Я ориентируюсь на эту схему и на эту статью


кстати, скоро на всеобщее обозрение выложу библиотеку для аоп, которая довольно-таки сильно отличается от остальных... следи за оффтопиком =)
Жду с нетерпением.

-~{}~ 14.11.06 13:58:

Зы: как выложишь скинь ПМ, плиз.
 

zarus

Хитрожопый макак
Мой знакомый на PHP и с помощью АОП создал "программу" построения шаблона сайта. Фактически - генератор xml-схемы расположения блоков.
У меня не хватает знаний и опыта, чтобы полность овладеть ООП, не то, что АОП.
 

Alexandre

PHPПенсионер
Добиться изящной объектно-ориентированной программной архитектуры достаточно сложно. Но если вы использовали приемы из книги “Refactoring: Improving the Design of Existing Code”, Martin Fowler, возможно вам это удалось.
+1 Считаю сей данный труд - основопологающий, рекомендован для изучения каждого программиста, вне зависимости языка разработки.

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

Говоря о статической предрегенерацией кода, то я ее во всю использую исключительно для увеличения производительности, например генерации статической пхп страницы (в смысле генерации пхп кода) из xml конфига.

Мой знакомый на PHP и с помощью АОП создал "программу" построения шаблона сайта. Фактически - генератор xml-схемы расположения блоков.
zarus зачет ему, нечто похожее я планирую сделать в своем проекте, только не расположение блоков, а генерация "Отчетов".

генерация блоков - очевидно для WEB2.0, я об этом тоже думаю, пример - настраиваемый Гугль-кабинет, На Конференции свою разработку по WEB2.0 представлял РБК.
 

StUV

Rotaredom
У меня не хватает знаний и опыта, чтобы полность овладеть ООП, не то, что АОП.
хм... логика должна быть обратной
АОП - не парадигма, а узкоспециализированное "средство"
 

zarus

Хитрожопый макак
Может я не догоняю, но в общих чертах .
ООП(редставление) - представление мира в виде объектов с определенным, существенным для "нас" набором свойств и поведений.
АОП(редставление) - представление объектов в виде объектов исполнения, описывающих поведенческую модель объекта в зависимости от внешней среды?
 

StUV

Rotaredom
представление объектов в виде объектов исполнения, описывающих поведенческую модель объекта в зависимости от внешней среды?
это одна из методологий оод

аоп - фактически надстройка над любой парадигмой/методологией проектирования - применима как для объектной, так и для функциональной (процедурной) модели приложения.
 

atv

Новичок
Вот здесь http://forum.agiledev.ru/index.php?t=msg&th=738&start=0& предлагается решение позволяющее в рантайм включать и отключать поддержку АОП.
 
Сверху