|
Monday All Day
|
| 2 | Aspect-Oriented Programming with AspectJ Gregor Kiczales, Xerox Palo Alto Research Center Cristina Lopes, Xerox Palo Alto Research Center |
Colorado Convention Center - A102 |
|
Objects have been a great success. Object-oriented programs have a natural modularity that makes them easier to develop and maintain than purely procedural programs.
But object-orientation doesn't solve all modularity problems. Many common design concerns are difficult to localize in an object-oriented program. Instead, their nature makes them cross-cut the system's class structure. These cross-cutting concerns include things like multi-object interaction protocols, object roles, certain design patterns, performance optimizations, synchronization constraints, distribution issues and many others. Aspect-oriented programming is a new technique proposed to address the problem of cross-cutting concerns. Aspects are program constructs that make it possible to capture cross-cutting concerns in a clear and modular way - aspects are intended to modularize cross-cutting concerns in the same way that objects modularize units of functionality and state. This tutorial shows how to design and program with the AspectJ extension to Java. Particular attention will be given to how AspectJ can support the implementation of common design patterns and Java programming idioms. Attendee Background: Attendees should be able to read and understand Java code. Gregor Kiczales is a principal scientist at the Xerox Palo Alto Research Center. His research is focused on a range of topics in software design, including object-oriented programming, metaobject protocols, open implementation and aspect-oriented programming. He is a co-author of "The Art of the Metaobject Protocol". He is a member of the AspectJ design team. Cristina Videira Lopes is a research scientist at the Xerox Palo Alto Research Center. Her research interests are in software engineering and programming languages, with a focus on aspect-oriented programming support for distributed systems. She is a member of the ApsectJ design team. |
|
at a Glance |
|
of all Tutorials |
|