The coming of Aspects in the programming world has brought so much of clean. I, no longer need to write tons of code for logging, transaction handling, security and what not. I think of a service and next I know what aspect I need to implement.
Some of the area’s where I have used or planning to use aspects
• Logging – no more putting method entry/exits
• Transaction Handling – using spring’s transaction manager
• Profiling – to implement the code instrumentation metrics
• Error Handling – the errors/exceptions can be intercepted and logged
• Security – handling security
• User Activity Tracking – log the user transactions along with the data that got changed
• Caching – caching of data
Besides this, I have aspects for things which are not easily doable in the normal world
• Transaction Retry Logic – trying for a defined ‘n’ number of times before giving up on a transaction
• Excution Flow Display – create a graph showing how the a given transaction is being processed with all the classes and methods that got invoked
To get started, please check out the following presentation here.
The wonderful world of Aspects