| tutorials | sunday morning |
18 |
An Introduction to Design PatternsJohn Vlissides, IBM T.J. Watson Research Center |
Waterfront Centre Hotel Waterfront Ballroom C |
Designing object-oriented software is hard, and designing reusable object-oriented software is even harder. Experience shows that many object-oriented systems exhibit recurring structures or "design patterns" of communicating and collaborating objects that promote extensibility, flexibility, and reusability. This tutorial describes a set of fundamental design patterns and, through a design scenario, demonstrates how to build reusable object-oriented software with them. The tutorial covers the roles design patterns play in the object-oriented development process: how they provide a common vocabulary, reduce system complexity, and how they act as reusable architectural elements that contribute to an overall system architecture.
This tutorial is designed for software developers, including architects and programmers. Participants will acquire experience using design patterns to solve real problems. This experience will enhance participants' design abilities by teaching them how to apply design patterns to their own object-oriented systems.
Attendee Background: Attendees should understand basic object-oriented concepts, like polymorphism and type versus interface inheritance, and should have had some experience designing object-oriented systems. No prior knowledge of design patterns is required or assumed. Familiarity with C++ is recommended.
John Vlissides is a member of the research staff at the IBM T.J. Watson Research Center in Hawthorne, NY. He has practiced object-oriented technology for over a decade as a designer, implementer, researcher, lecturer, and consultant. John has authored or co-authored several books, including "Design Patterns," "Pattern Hatching: Design Patterns Applied," "Object-Oriented Application Frameworks," and "Pattern Languages of Program Design 2," and he serves as Consulting Editor of Addison-Wesley's Software Patterns Series. He has published numerous technical papers and is a columnist for the "C++ Report." John has a Ph.D. in Electrical Engineering from Stanford University.
| for beginners (yellow): | |
|
|
for intermediates (green): |
|
|
|
| Tutorials by Title |
Tutorials
by Category |
Tutorials by Thread |
Full
Description of all Tutorials |
Tutorial Availability |