- Series: In Action
- Paperback: 512 pages
- Publisher: Manning Publications (July 1, 2003)
- Language: English
- ISBN-10: 1930110936
- ISBN-13: 978-1930110939
- Product Dimensions: 7.4 x 1.1 x 9.3 inches
- Shipping Weight: 2 pounds (View shipping rates and policies)
- Average Customer Review: 10 customer reviews
- Amazon Best Sellers Rank: #2,952,959 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Aspectj in Action: Practical Aspect-Oriented Programming
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
There is a newer edition of this item:
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
"A valuable book to support AOP . . . delivers what it promises." -- Computing Reviews
"A very good resource for both people starting to learn AOP and AspectJ and experienced AOP programmers." -- JavaRanch.com
"I would highly recommend AspectJ in Action." -- TheServerSide.com
"You will get the most bang for your buck from Ramnivas' work . . . this book lends itself well to future reuse." -- Freeroller.net
About the Author
Author interviews, book reviews, editors picks, and more. Read it now
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Part 1 provides really good introduction into AOP. This is the first book I have read on AOP; all stuff I have seen before was online or magazine articles. One interesting fact is that this book took a while to consume, compared to the usual two-week cycle I have for technical books. I guess the reason is that the book has more substance than most of the techincal books and Mannigs does not try to pad their books with API references and other stuff that can be easily found online. After the chapter goes through AOP concepts, it explains AspectJ in application to those concepts. Basic syntax as well as some advanced techniques are explained.
Part 2 has examples of basic applications of AspectJ. Of course it starts with the mandatory logging implemented using AOP. Not a very good example in general, since logging is not really a cross-cutting concern, but works for illustration purposes. Other two application areas discussed in this part are implementation policy enforcement and optimization (pooling and caching examples). Policy enorcement part is really interesting, especially if you are into call patterns.
In general, every part follows the same pattern: first the author discusses the conventional approach, then explains challenges of the conventional solution, provides AspectJ-based solution, and gives one or two examples. Very clean language, easy to follow.
Part 3 discusses advanced applications of AspectJ. First it delves into design patterns and idioms of AOP; it's not by any means AspectJ-specific, so would be useful for any AOP implementation. Examples of patterns are providing thread-safe implementations using AspectJ, implementing security (very interesting discussion on JAAS), transaction management, and implementing business rules using AspectJ. The part ends with AspectJ usage in different development phases.
Two appendices: description of AspectJ compiler and Ant integration - only 15 pages for both. Useful as a reference.
Overall impression: an excellent book. Definitely worth reading, even if you are not into AOP yet.
I have been watching AspectJ since I first saw it about a year ago. My first impression was that it was 'cool', but was worried about giving developers more rope with which to hang themselves. Yes, it was cool, but the most practical examples you would see in demos were thing like 'logging'. I was worried that it would just lead more more ways for junior engineers to 'convolute the code', without bringing much benefit for that risk.
The material in this book, ALONG WITH the support the author had from the Eclipse IDE changed my mind. Finally, there were some real examples involving transaction support, JAAS, exception handling, and more. Furthermore, he addressed these topics in the real-world sense of refactoring existing code to prove his points.
If you aren't using an IDE that gives you some support, then I still have my concerns about 'convoluting' your code; but I am more convinced than ever that AOP concepts are worth putting into my mental toolkit. I have no doubt that the way aspects 'inject' behavior into code will reduce our development time, and make our code behave more consistently (no errors because of inconsistencies in the way common things are handled). If you can add one more ball to the things you 'mentally juggle' while developing, add AOP concepts. This book will help.
Going further Ramnivas uses real-life examples to show step by step how to use Aspects in your daily work. He explains how to transform a pure Java based solution to a cleaner, more structured AspectJ solution. The reader can see that the AspectJ solution is more elegant and can always understand how Ramnivas came to his solutions. Ramnivas explains this for cruicial topics most developers have to face, for example logging or thread safety.
Special bonus is the chapter on aspect design patterns. Ramnivas shows four design patterns, that don't exist in the non-AOP world. They are quite useful in AOP, though, and AFAIK there is no other source for this important information.
"AspectJ in action" is a book for beginners as well as for advanced AspectJ programmers. It is well written and easy to understand. The real-world examples allow you to transfer the solutions on a 1:1 basis to your project and thus try in real life how aspects work for you.
The author's presentation of the material is straightforward and easy to follow, and his examples are not too involved that you lose track of what's going on. Furthermore, the author has an excellent grasp of the language and is really able to show off the power AspectJ has to offer.
What I really appreciate about the book is that he focuses not just on coding, but also on design; I'm a software engineer and am very pleased that the author discusses an aspect as something to be used elegantly, as part of a well-designed system, rather than just another tool that can be abused. He even discusses several new design patterns that AspectJ makes possible.
I truly recommend this book!