Design Patterns Prep
Overview
You’ve probably noticed that there are structures that you use over and over again in programming. That idea is called a ‘design pattern’ and today we’ll formalize your understanding of a few of the common ones.
Basic Learning Objectives
Before class, you should be able to:
- Define “design pattern” in a programming context
- Identify the people who promoted the idea of design patterns originally
- Explain the benefits and criticisms of design patterns
- Define the three “intent” categories of patterns
Advanced Learning Objectives
After class, you should be able to:
- Explain the high-level idea of the singleton, strategy, factory method, and adapter patterns
- Identify how those four patterns are or could be used in your project
Readings
To achieve the basic learning objectives, read the following:
- What is a Pattern (including subsections from “What’s a design pattern?” to “Classification of patterns”)
- Optional: Python Design Patterns - the article is generally assuming you already know what the patterns are and gives opinions on them, which you are welcome to read if you are interested, but not required
Checks
Complete the prep check on Moodle.