Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udacity

Design Patterns

via Udacity

Overview

Build a strong foundation in object-oriented design by applying proven software design patterns in Python. Explore creational, structural, and behavioral patterns, and see how each category addresses common challenges in building flexible, reusable, and scalable systems. Learn why these patterns go beyond "common sense" and represent decades of accumulated engineering wisdom. Practice translating abstract ideas into clear, maintainable code. By the end of this course, you will understand how design patterns connect to SOLID principles, dependency injection, and modern AI-assisted development workflows.

Syllabus

  • Introduction to Design Patterns
    • Learn what design patterns are, why they exist, and how they connect to SOLID principles to help you design maintainable, testable, and scalable software.
  • Creational Design Patterns
    • Apply creational patterns—Singleton, Factory Method, and Builder—to design flexible solutions where object creation should be separated from usage.
  • Structural Design Patterns
    • Use Adapter, Decorator, and Composite patterns in Python to modify or combine objects without changing their internal logic.
  • Behavioral Design Patterns
    • Learn how Observer, Strategy, and Command patterns support delegation, flexible behavior, and decoupled object interactions.
  • Principles in Practice
    • Apply dependency injection to decouple objects, support testing, and enable clean, flexible implementations of modern design patterns.
  • Personal Finance Manager for Freelancers and Gig Workers
    • Apply classic design patterns to a working Python finance application, combining required patterns with one of your choice and validating your design through testing.

Taught by

Afreen Aliya

Reviews

Start your review of Design Patterns

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.