Aspect-oriented programming enables modularization of the cross-cutting concerns.
Cross-cutting concerns are generic functionality that is needed in many places in one application.
Example: Logging, Transaction management, Security, Caching, Error handing..
Failing to modularize the cross-cutting concerns leads to:
coupling of concerns (increases code complexity and reduces the readablity)
same concern is spread accross the codebase (code duplication)
Example requirement solvable with AOP: Perform a role based security check before every application method.
Task
check whether we can itegrate with aspect.js (small library providing essential for AOP in JavaScript)
for the moment it's enough to have a working proof-of-concept which can demostrate the power of AOP
Background
Aspect-oriented programming enables modularization of the cross-cutting concerns. Cross-cutting concerns are generic functionality that is needed in many places in one application. Example: Logging, Transaction management, Security, Caching, Error handing.. Failing to modularize the cross-cutting concerns leads to:
Example requirement solvable with AOP: Perform a role based security check before every application method.
Task