Table of Contents

 

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