AspectJ
AspectJ | |
---|---|
Класс языка | аспектно-ориентированный |
Появился в | 2001 |
Разработчик | Eclipse Foundation |
Расширение файлов |
.aj |
Выпуск | 1.9.9.1[1] (31 марта 2022 ) |
Основные реализации | AspectJ Development Tools для Eclipse |
Испытал влияние | Common Lisp |
Лицензия | Eclipse Public License |
Сайт | eclipse.org/aspectj/ |
ОС | Кроссплатформенный |
![]() |
AspectJ — аспектно-ориентированное расширение языка Java, созданное компанией PARC. Язык доступен в проектах Eclipse Foundation как отдельно, так и в составе среды разработки Eclipse. Язык стал де-факто стандартом аспектно-ориентированного программирования, подчёркивая простоту и удобство для пользователей. С первого выпуска язык использует Java-подобный синтаксис.
Простое описание языка
[править | править код]AspectJ расширяет синтаксис Java, то есть все программы, написанные на Java, будут корректными программами AspectJ, но не наоборот, так как могут включать специальные конструкции, называемые аспектами, которые могут содержать несколько частей, не доступных обычным классам.
- Методы расширения позволяют программисту добавлять методы, поля и интерфейсы в существующие классы. Данный пример добавляет метод
acceptVisitor
(см. шаблон проектирования посетитель) в код классаPoint
:
aspect VisitAspect {
void Point.acceptVisitor(Visitor v) {
v.visit(this);
}
}
![]() | Этот раздел нуждается в переработке. Пожалуйста, уточните проблему в разделе с помощью более узкого шаблона. |
Библиография
[править | править код]- Laddad, Ramnivas (2009-09-28), AspectJ in Action: Enterprise AOP with Spring (2nd ed.), Manning Publications, p. 550, ISBN 978-1-933988-05-4
- Miles, Russ (2004-12-20), AspectJ Cookbook (1st ed.), O'Reilly Media, p. 354, ISBN 978-0-596-00654-9
- Colyer, Adrian; Clement, Andy; Harley, George; Webster, Matthew (2004-12-24), Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools (1st ed.), Addison-Wesley Professional, p. 504, ISBN 978-0-321-24587-8
- Gradecki, Joseph D.; Lesiecki, Nicholas (2003-03-07), Mastering AspectJ: Aspect-Oriented Programming in Java (1st ed.), Wiley, p. 456, ISBN 978-0-471-43104-6