Pointcut

A pointcut specifies where exactly to apply an advice, which allows separation of concerns and helps in modularizing business logic.

Different frameworks support different Pointcut expressions; AspectJ syntax is considered as de facto standard.

Cross-cutting concern refers to parts of software that logically belong to one module and affect the whole system: this could be security or logging, for example.

[2] Aspect-oriented programming tries to solve these cross cutting concerns by allowing programmers to write modules called aspects, which contain pieces of code executed at particular point.

With aspect-oriented programming, we can apply pointcut to the Modify Database method and have an advice that is called to log the required information.