AspectJ
AspectJ is an aspect-oriented extension of Java , which was developed at Xerox PARC and is now an open source project of the Eclipse Foundation . It is available as a stand-alone program and as an Eclipse add-on module.
An AspectJ compiler incorporates aspects into normal Java bytecode to implement the event-based system. Aspects are written in a combination of Java and AspectJ and integrated into Java by an additional pre-class in order to be able to generate standard Java bytecode and thus make AspectJ compatible with Java .
At the moment there are two AspectJ compilers: ajc , which is part of the Eclipse AspectJ project, and abc , an extensible optimizing compiler, which was created by aspectbench.org. AspectJ has also been ported to other programming languages, such as Common Lisp ( AspectL ) and Ruby ( AspectR ). No special compiler is required in these two ports; the aspects can be programmed into the existing object-based system.
The Spring programming framework provides good support for AspectJ.
literature
- Adrian Colyer, Andy Clement, George Harley: Eclipse AspectJ. Addison-Wesley, 2004, ISBN 0-321-24587-3 .
- Oliver Böhm: Aspect-oriented programming with AspectJ 5. dpunkt, 2005, ISBN 3-898-64330-1 .
Web links
Individual evidence
- ↑ Xerox owns the patent US6467086 . AOP / AspectJ, but published the AspectJ source code under the Common Public License , which guarantees some patent rights.