Я хочу использовать структуру АОП, но у меня есть два ограничения.
Любой фреймворк, который я выберу
Должен быть достаточно независимым. Я планирую использовать это в базе устаревшего кода, и, следовательно, не может обновить предполагаемые зависимости, такие как commons-logging-XXX.jar, до commons-logging-newest.jar.
Должен быть достаточно хорошо документирован, не должен быть слишком сложным для понимания и интеграции.




AspectJ, насколько я могу судить, - это просто компилятор и не накладывает никаких зависимостей на скомпилированные программы, кроме включения jar-файла времени выполнения AspectJ.
Он также активно поддерживается, является частью проекта Eclipse и имеет хорошую среду разработки (AJDT, плагин для Eclipse).
Ладно, это не соответствует всем вашим требованиям, но я думаю, что на него стоит взглянуть: http://dynamicaspects.sourceforge.net/
Положительные
Отрицательные
Некоторое время назад я протестировал его и был очень впечатлен, но обнаружил некоторые глюки, о которых сейчас не помню. Хотя вы можете попробовать.
Greetz, GHad
Мне нравится Spring + AspectJ. Вы можете сделать все свои определения pointcut в xml если хочешь, и вам не нужно менять строку кода в устаревших материалах. Если вы уже знакомы с концепциями Spring и АОП, многому не нужно учиться.
Единственное, что меня беспокоит в Spring AOP, - это количество имеющихся в нем зависимостей.