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.