Overview

There are three design patterns that you’ve likely used and will find useful, so we’re going to focus on those today.

Basic Learning Objectives

Before class, you should be able to:

  • Define what the Observer, Iterator, and Decorator design patterns are

Advanced Learning Objectives

After class, you should be able to:

  • Implement these three patterns in Python
  • Explain how code smells, class design principles, and design patterns reinforce each other or possibly conflict

Readings

To achieve the basic learning objectives, read the following:

Checks

Complete the prep check on Moodle.