What is Aspect-oriented programming?
In software development, features distributed in multiple places in applications are becoming a cross-cutting concern.
This section provides another option to replace inheritance and delegation, and is clearer and more concise in many scenarios. While using Aspect-Oriented Programming, we still define general functions in one place, but we can define this function and the method where it is applied in a declarative way without modifying the affected classes. Cross-cutting concerns can be modularized into special classes, and these classes are cut. There are two advantages: First, each focus is only concentrated in one place, rather than scattered into multiple code; second, the service module is more concise, because they only contain the code of the main focus (or core function), the Code of the secondary focus is transferred to the aspect.
Not complete...
AOP _ Aspect-Oriented Programming