← Back to catalog
Design Patterns in Modern Python cover image
Python Intermediate

Design Patterns in Modern Python

Apply modern Creational, Structural, and Behavioral patterns tailored for idiomatic Python 3.

Instructor Nigel Thorne
Duration 175 minutes (4 lessons)
Estimated Effort 3 hours total (1.5 hrs/week over 2 weeks)
Price USD 55.00
USD 55.00 Full Lifetime Access

Sign in to track your learning progress.

Course Overview

Learn dataclasses, protocols, dependency injection, factory methods, and strategy patterns to write maintainable Python codebases that scale cleanly.

What You Will Learn

Implement Creational patterns: Factory Method, Builder, and Singleton variants
Apply Structural patterns: Adapter, Decorator, Facade, and Composite
Utilize Behavioral patterns: Strategy, Observer, Command, and Chain of Responsibility
Leverage Python 3 features: Dataclasses, Protocols (`typing.Protocol`), and ABCs
Refactor monolithic conditional code into clean, extensible pattern designs

Tools & Technologies Used

Python 3.11 Mypy Ruff VS Code Pytest

Structured Curriculum

2 Modules  ·  4 Lessons  ·  175 Minutes Total

Module 1

Module 1: Creational & Structural Pythonic Patterns

2 lessons

Build flexible object creation and structural adapter abstractions.

  • 📄

    Factory Methods & Protocol Interfaces

    Decouple caller logic from concrete implementations using structural typing.

    Code Workshop 45 min
  • 📄

    The Decorator & Adapter Patterns in Python

    Wrap external client libraries into uniform application interfaces.

    Hands-on Exercise 40 min
Module 2

Module 2: Behavioral Patterns & Architectural Decoupling

2 lessons

Manage object interactions and behavioral delegation cleanly.

  • 📄

    The Strategy Pattern for Dynamic Business Logic

    Replace nested `if/elif` blocks with pluggable strategy classes.

    Refactoring Lab 45 min
  • 📄

    Observer & Command Patterns for Event Systems

    Implement lightweight event dispatchers and undoable command objects.

    System Design 45 min

Practical Project & Capstone Outcome

🚀 Capstone Project

Extensible Payment & Notification Processing Framework

Design an extensible payment processing library supporting multiple gateways using Factory, Strategy, and Observer design patterns.

Prerequisites

  • Python intermediate proficiency
  • Basic knowledge of object-oriented concepts

Intended Audience

  • Software Engineers wanting to write cleaner, more maintainable Python
  • Technical Leads establishing object-oriented architecture guidelines

Instructor Information

N

Nigel Thorne

Course Author & Industry Expert

Nigel Thorne is a Principal Software Architect and author on software craft and Python design patterns.

Frequently Asked Questions

Are these patterns identical to traditional Java GoF patterns?

No. Python's first-class functions and dynamic type system simplify many classic GoF patterns.