<pre>Author/s : Joseph D. Gradecki, Nicholas Lesiecki Publisher : Wiley Category :Miscellaneous Java Review by : Valentin Crettaz Rating : 8 horseshoes</pre> Mastering AspectJ is the second book on the AspectJ programming language, a seamless extension to the Java programming language. This book does a great job of showing how aspect-oriented programming (AOP) nicely complements current object-oriented techniques. The authors first introduce important AOP concepts, and explain how AspectJ reifies these concepts into a concrete and powerful programming language that brings AOP capabilities into the Java language. Plenty of code examples demonstrate how to best use AspectJ in real-world projects, and how to integrate AspectJ with current software development tools and techniques. Furthermore, the authors provide exhaustive tutorials on how to use AspectJ with well-known IDEs, such as Eclipse, JBuilder, NetBeans, Forte, and Emacs. It is worth noting that this book is really about aspect-oriented programming. As a designer, you won't see any serious techniques for modeling aspects, as research on the subject is still ongoing. However, there is a very interesting chapter on how to apply an aspect-oriented version of the Observer design pattern to existing code without modifying the original system. The book finally provides an impressive list of links to interesting AOP resources, and the whole code is made available on the companion web site. On the downside, some chapters would have needed a little more proofreading and technical editing, but the overall tone is good. To date, this is the most complete and interesting resource about the AspectJ programming language.