Aspect Oriented Programming - AspectJ Radhika Rajput.
-
Upload
jazlyn-vorse -
Category
Documents
-
view
225 -
download
0
Transcript of Aspect Oriented Programming - AspectJ Radhika Rajput.
Aspect Oriented Programming -
AspectJ
Radhika Rajput
• Passive task like logging, transactions, security, caching etc
• Cross Cutting Concerns / Core Concerns
• Separating from business logic
• Inheritance : Brittle
• Delegation : Cumbersome
• Aspect Oriented Programming
AOP• AOP is a technology for separating
crosscutting concerns into single units called aspects.
• Encapsulating crosscutting concerns.
• AOP builds on top of other programming paradigms: object-oriented, procedural or functional. It does not replace them
• AOP just saves you writing extra code
• Define the common functionality and use it without modifying the underlying code to use the new feature.
• AOP : Modularize into Aspects, thereby creating a cleaner and decoupled code.
• With Aspects in place objects, AOP takes care of passive cross cutting concerns.
Aspect-Jargons
• Joinpoint : A joinpoint is a candidate point in the execution of the application where an aspect can be plugged in.
• Advice : It is the actual implementation of our aspect.
• Pointcut : A pointcut defines at what joinpoints advice should be applied.
Weaving• Weaving is the process of applying aspects to a target
object.
• Aspects are woven into the target object at the specified joinpoints.
• Compile time
• Classload time
• Runtime
AspectJ - Observer Pattern
Observer Pattern• Which objects are Subjects and which are Observers ?• When should the Subject send a notification to its Observers ?• What the Observer should do when notified ?
References :
• http://en.wikipedia.org/wiki/Aspect-oriented_programming
• http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/aop.html
• https://eclipse.org/aspectj/doc/released/progguide/index.html
Thank you