Design Patterns in Java and Python
A Pro study guide on Design Patterns: 39 lessons in 7 parts, 6 hands-on Practical use cases. A Pro plan opens every lesson, practice question and Practical.
What you will learn
- Foundations - What a pattern is, the SOLID principles, and why composition beats inheritance. (3 lessons)
- Creational patterns - Ways to create objects: Singleton, Factory Method, Abstract Factory, Builder and Prototype. (5 lessons)
- Structural patterns - Ways to fit objects together: Adapter, Bridge, Composite, Decorator, Facade, Flyweight and Proxy. (7 lessons)
- Behavioural patterns - Ways objects share work and talk to each other: Strategy, Observer, Command, State and more. (9 lessons)
- Modern and enterprise patterns - Dependency injection, repositories, resilience, publish-subscribe and sagas. (5 lessons)
- Patterns for data work - Idempotent loads, medallion layers, star schemas, incremental loads, quality gates and pipelines, in Python and SQL. (7 lessons)
- Choosing and avoiding - Anti-patterns, how to compare patterns, and a refactoring walk-through. (3 lessons)
Hands-on Practical use cases
- A notification service
- Checkout with discount rules
- Exporting reports in many formats
- Wrapping a legacy payment API
- An order workflow that can fail
- A daily sales data pipeline
All tutorials · Practice quizzes