Bay Area Software Symposium
October 13 - 15, 2006 - Newark, CA
Co-Author Mastering AspectJ and Java Tools for Extreme Programming
Nicholas Lesiecki is a recognized expert on AOP and agile development. In addition to coauthoring Mastering AspectJ (Wiley, 2003) and Java Tools For Extreme Programming (Wiley, 2001), Nick is a member of AspectMentor, a consortium of experts in aspect-oriented software development. He has spoken about applying AspectJ to testing, design patterns, and real-world business problems in such venues as SD West, OOPSLA, and AOSD. He currently serves Google as a Software Engineer and Programming Instructor.
Design patterns have long been part of the experienced developer's tool chest. However, design patterns can affect multiple classes and this makes them invasive and hard to (re)use. This presentation will discuss how AOP solves this problem by fundamentally transforming pattern implementation. The class will examine examples of various traditional design patterns (including some of the famous GoF patterns) and discuss the practical and design benefits of implementing them with aspect-oriented techniques. This session will be of interest to anyone who has struggled with design patterns. It is also the perfect session for a programmer interested non-trivial applications of AOP, or who wishes to see aspect-oriented design in action.
- Review design patterns: what they are, how they can be thought of
- How AOP can affect pattern implementation
- Review AOP key concepts and AspectJ syntax
- The Decorator Pattern, in Java, then AspectJ
- Apply more advanced AOP to the Swing Thread Safety patter
- How to reuse open source pattern implementations (Observer)