Aspectj Cookbook
This book covers the following subjects:
Rarely is a cookbook read from cover to cover, but an overview of each section's focus is useful in order to understand each chapter's place and what it is building towards. This cookbook is organized into four broad sections, as shown in Figure P-1. Figure P-1. What each set of chapters within this book intends to show
Chapter 1 through Chapter 3 provide a set of recipes to get you started with the tools and environments that support development using AspectJ. These chapters cover how to use command-line tools, Eclipse, even ANT to develop your aspect-oriented applications, and finish up by showing you how to deploy to diverse target environments such as Java Servlets, Java Server Pages, and web services. Chapter 4 through Chapter 16 provide in-depth syntactical examinations of the AspectJ language. These chapters aim to give you a useful and exhaustive reference for how to use the different constructs that the AspectJ language adds to Java. Chapter 17 through Chapter 23 are where AspectJ really gets to showcase its advantages over traditional object-oriented software implementations. In these chapters, Aspects are used to enhance and improve the design of software solutions ranging from design pattern implementations to enterprise applications. Chapter 23 brings this book to a close by introducing some of the aspect-oriented design patterns that are gradually being discovered as tools, such as AspectJ, bringing aspect orientation into the mainstream of software development. Now that you know what this book is about, it should be explained what this book is not about. As mentioned before, this book is not a theoretical examination of AspectJ. The code is kept at the fore throughout to make sure that every area has a practical focus. There are many great articles online and gradually appearing in the press that examine the more theoretical concerns of AO, so this book does not attempt to deal with these. This book is also not claiming to be AspectJ in a nutshell. AspectJ is in a very stable state for such a young implementation, but even now extensions to the language and the technologies are being considered, so it is possible that some areas of this book may age faster than others. In an attempt to ensure that this book has the longest life possible, only the most stable areas that were incorporated at the time of writing were included. |