what is aop
Aspect-oriented programming (AOP) is an approach to programming that allows global properties of a program to determine how it is compiled into an executable program. AOP can be used with object-oriented programming ( OOP ). An aspect is a subprogram that is associated with a specific property of a program. As that property varies, the effect ripples through the entire program. The aspect subprogram is used as part of a new kind of compiler called an aspect weaver .