4. Solutions
Some techniques include :
TemplateMetaprogramming
MetaObjectProtocol
Decorators
TemplateMethodPattern
RPC tools
Many of the Creational Patterns
MultipleInheritance and MixIns
ContextObject or ExplicitManagementOfImplicitContext
6. History
Gregor Kiczales and colleagues at Xerox PARC in 1997
In 2001, the AspectJ extensions brought AOP to Java
IBM research team in 2001 proposed Hyper/J
Microsoft Transaction Server by EJB
7. Intro
Software development technique that :
Increase modularity
Managing cross cutting concerns
Infrastructure composition
8. Features
Cross-Cutting Concerns
Pieces of functionality that are used across multiple parts of a system
Cross-Cutting concerns and nonfunctional requirements have a lot of overlap
Advice
Code that performs the cross-cutting concerns
“What” of AOP
Pointcut
Join Point : Defined between logical steps
“Where” of AOP
9. Features
Tangling
When cross-cutting concern code mixed with core code
Scattering
when cross-cutting concern code used in multiple methods
Weaving
combination of core codes with aspects
16. Interceptors
Calls to class methods or properties
IoC Container
No post compilation
Dynamic Proxy
17. Interceptors
Common use of IoC Conainer
Calling Code IoC Container
IMyInterface
MyClass :IMyInterface
18. Interceptors
Use of IoC Conainer with Dynamic Proxy
Calling Code IoC Container
IMyInterface
MyClass:IMyInterface
Dynamic Proxy
ProxyInterceptor:IMyInterface
ProxyInterceptor:IMyInterface