AOP : Aspect Oriented Programming



  • AOP makes you to identify functionality that is used in your system or application in a reusable components.
  • AOP motivates the separation of concerns way of programming.
  • Functionality like security, logging, exception handling, transaction all are always getting include in every 
  • module or component of an application, though each module is not responsible for these all.
  • Each component or module should focus on its core functionality.
  • Here these security, logging, transaction all are called cross cutting concerns, as it belongs or cut across multiple components of an application.
  • Using this cross cutting concerns in all components functionality, make the actual code dirty.
  • Its better to keep this cross cutting concerns in separate.
  • AOP makes these services separate and apply them to the respective component declaratively.