AspectJ
AspectJ - Аспект-ориентированное расширение языка Java.

Добро пожаловать на сайт!

Этот сайт посвящён языку программирования AspectJ.

AspectJ является аспект-ориентированнм расширением языка Java. Местом рождения языка является компания Xerox.

Какие проблемы решает AspectJ

Спутанность кода. Допустим нужно добавить логгирование операций.Добавление логгируещего кода - простая, но трудоёмкая операция. Нужно пройтись по всему коду проекта и вставить вызов log4j логгера. При этом получается "спаггетти" код - работа с бизнес объектами (код предметной области) перемешивается с логгирующим кодом. Легко убрать обратно логгирование не получится (перелопачивать весь проект!).
С помощью AspectJ эта задача решается очень легко.

Кроме логгирования подходящие операции

  • Безопасность
  • Управление транзакциями
  • Постоянное хранение (в БД например).
  • Взаимодействие с пользователем UI
  • Интеграция с существующими библиотеками.
Кроме этого AspectJ позволяет делать проверки кода на этапе компиляции, реализовать множественное наследование и др..

Основные понятия аспект-ориентированного программирования

  • JoinPoint
  • Pointcut
  • AdviceAdvice
  • Inter-type declarations
  • Aspects