tutorials sunday morning

18

An Introduction to Design Patterns

John 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.

Other tutorials in the patterns thread are:

for beginners (yellow):

Tutorial 5*: Pattern Writing
Workshop 23: Pattern Writers' Workshop
Tutorial 67R: Patterns at Work

for intermediates (green):

Tutorial 48: Designing with Patterns
Tutorial 67R: Patterns at Work

Related tutorials:

27: Parallel Performance Patterns
33: Analysis Patterns
36: Using Design Patterns and Frameworks to Develop Object-Oriented Communication Software
47: Patterns for Making your Business Objects Persistent in a Relational Database World
54: Patterns for Distributed And Agent-Based Systems
64: Introduction to AntiPatterns

 

Tutorials
by Title
Tutorials by
Category
Tutorials
by Thread
Full Description
of all Tutorials
Tutorial
Availability

OOPSLA'98 Home
Last edited 22 September 1998 14:09:47