Copyright
Brief Table of Contents
Table of Contents
Praise for the First Edition
More Praise for the First Edition
Foreword
Preface
Preface to the First Edition
Acknowledgments
About this Book
About the Title
About the Cover Illustration
A Real-World Perspective of AOP
1. Understanding AOP and AspectJ
Chapter 1. Discovering AOP
1.1. Life without AOP
1.1.1. Code tangling
1.1.2. Code scattering
1.2. Modularizing with AOP
1.3. Anatomy of an AOP language
1.3.1. The AOP language specification
1.3.2. The AOP language implementation
1.4. Fundamental concepts in AOP
1.5. AOP by analogy
1.5.1. Cascading Style Sheets (CSS)
1.5.2. Database systems
1.5.3. Event-oriented programming
1.6. Implementations of AOP
1.6.1. AspectJ
1.6.2. Spring AOP
1.6.3. Other implementations of AOP
1.7. Alternatives to AOP
1.7.1. Frameworks
1.7.2. Code generation
1.7.3. Design patterns
1.7.4. Dynamic languages
1.8. Costs and benefits of AOP
1.8.1. Costs of AOP
1.8.2. Benefits of AOP
1.9. Summary
Chapter 2. Introducing AspectJ
2.1. Writing your first AspectJ program
2.1.1. Setting up the example