Аспектно-ориентированное программирование: различия между версиями
Содержимое удалено Содержимое добавлено
Раммон (обсуждение | вклад) м →Конструкция pointcut и точки соединения: викификация |
Раммон (обсуждение | вклад) |
||
Строка 115:
Чтобы аспекты могли оказывать воздействие на обычный, основанный на классах код, эти аспекты должны быть «вплетены» в модифицируемый ими код. Чтобы осуществить это в AspectJ, надо [[:w:ru:Компилятор|откомпилировать]] код класса и аспекта ajc-компилятором. ajc может функционировать как полноценный компилятор, генерируя действующий код класса, так и как [[:w:ru:препроцессор|препроцессор]], генерируя .java файлы компилируемые стандартными средствами Java (со ссылкой на небольшой run-time JAR).
Для компиляции в AspectJ необходимо явно задать исходные файлы (и для аспектов, и для классов), подлежащие включению в данную компиляцию — ajc не использует classpath, в отличие от javac. Это имеет
Задавая файлы для компиляции, можно также включать и отключать различные аспекты системы на этапе компиляции. Например, включая или исключая описанный ранее аспект для регистрации, разработчик приложения может добавлять или удалять трассировку метода системы Cactus.
Существенное ограничение '''текущей версии''' AspectJ состоит в том, что
=== Обзор возможностей AspectJ ===
|