Radhika Rajput Passive task like logging transactions security caching etc Cross Cutting Concerns Core Concerns Separating from business logic Inheritance Brittle Delegation Cumbersome ID: 167494
Download Presentation The PPT/PDF document "Aspect Oriented Programming - AspectJ" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Aspect Oriented Programming - AspectJ
Radhika RajputSlide2
Passive task like logging, transactions, security, caching etc
Cross Cutting Concerns / Core Concerns
Separating from business logicSlide3
Inheritance : Brittle
Delegation : Cumbersome
Aspect Oriented ProgrammingSlide4
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 codeSlide5
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.Slide6Slide7
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.Slide8Slide9
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
RuntimeSlide10
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 ?Slide11
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.htmlSlide12
Thank you