Aspect-oriented programming (AOP) is a paradigm that was created to handle the scattering and tangling of boilerplate code in object-oriented programming (OOP), such as the code necessary for cross-cutting concerns. Gregor Kiczales and other researchers at Xerox PARC, which is now known as PARC, a Xerox company, did the original research on the topic. They eventually wrote a paper, AOP, in which they described a solution for handling cross-cutting concerns.
In order to gain an understanding of AOP, let's take a look at some of its fundamental concepts, as follows:
- Aspect: The aspect is the modularization of a concern that cuts across multiple areas of the application. It is the logic for the cross-cutting concern itself, such as logging or caching.
- Join point: A join point is a location in between logical steps of your program, such as after your...