Sunday, Morning
An Introduction to Design Patterns
Convention Ctr – 101E
John Vlissides, IBM T. J. Watson Research Center

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 course describes a set of fundamental design patterns and, through a design scenario, demonstrates how to build reusable object-oriented software with them. The course 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 course 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.

Presentation Format: Presentation

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. Familiarity with Java 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 is author of “Pattern Hatching,” co-author of “Design Patterns” and “Object-Oriented Application Frameworks,” and co-editor of “Pattern Languages of Program Design 2.” He is also Consulting Editor of Addison-Wesley’s Software Patterns Series. John has published numerous technical papers and is a columnist for the C++ Report.

Tutorials
at a Glance
Tutorials by Track
Full Description
of all Tutorials
Final Program

 OOPSLA'98 Home