Last updated: Mar 27, 24 18:05 UTC | Permalink

5 - Interaction-Level Design Patterns

Learning Objectives:

This lecture is about common patterns for organizing the communication between classes. These are what are often called “OO Design Patterns”. We will see that using such patterns makes OO code more readable and modifiable.

By the end of this lesson, you should be able to

  • Explain how patterns capture common solutions and tradeoffs for recurring problems.
  • Give 3 examples of interaction patterns and describe their distinguishing characteristics
  • Draw a picture or give an example to illustrate each one

Important Dates:

Lecture Slides:



  • Code Examples from Lecture (zip file)
  • Design Patterns: Elements of Reusable Object-Oriented Software (1994) This book is quite dated, but it is a foundational text for object-oriented design. It is available from many sources. You could look it up.
  • Freeman & Robson Head First Design Patterns, 2nd Edition This should be available free to you with your student O’Reilly subscription.

© 2024 Jon Bell, Adeel Bhutta and Mitch Wand. Released under the CC BY-SA license