Free Interactive Course · Design Patterns

Design Patterns — The Interactive Handbook

All 23 Gang-of-Four design patterns, each with a simulator you can actually click and working code in Java, Python, C++, C#, JavaScript, Go and TypeScript. Free, no signup.

JavaPythonC++C#JavaScriptGoTypeScript
ShareXLinkedIn
Your progress0 of 23 complete
5 patterns

Creational Patterns

Five patterns about the one thing every program does constantly and badly: making objects. They take the new out of your business logic so what gets built can change without the code that uses it changing.

7 patterns

Structural Patterns

Seven patterns about composition — how to glue objects and classes into bigger structures without the glue hardening. Adapters, wrappers, trees and stand-ins.

11 patterns

Behavioural Patterns

Eleven patterns about who talks to whom. They assign responsibility between objects so that a change in one behaviour doesn't ripple through every class that touches it.

Certificate of completion

Work through every pattern — drive its simulator, answer its quick check — and this unlocks into a shareable card with your name on it. Progress is saved in your browser, so there is nothing to sign up for.

0 of 23 patterns complete

Frequently asked questions

How many design patterns are there?
The original Design Patterns book by the "Gang of Four" (Gamma, Helm, Johnson and Vlissides, 1994) catalogued 23 patterns, split into 5 creational, 7 structural and 11 behavioural. Many more have been named since — MVC, Repository, Dependency Injection, CQRS — but these 23 are the shared vocabulary most interviews and code reviews assume you know.
Which design patterns should I learn first?
Start with the five you will genuinely meet in the first month of any codebase: Strategy, Factory Method, Observer, Decorator and Adapter. Singleton is worth learning early too, mostly so you understand why experienced engineers are wary of it. Interpreter and Visitor can wait — they're real, but rare.
Are design patterns still relevant?
The vocabulary is more relevant than ever; some of the implementations are not. Languages absorbed several patterns directly — first-class functions make most of Strategy and Command a one-liner, Python and Go generators are Iterator, and dependency-injection containers do the job Abstract Factory used to. What survives is the ability to say "this is a Decorator" in a code review and have everyone immediately understand the shape of the change.
Do I need to know every pattern by heart?
No. Recognising them when you read code matters far more than reciting them. The useful test is whether you can spot the problem a pattern solves — duplicated conditionals, a constructor that keeps growing, a class that changes for five different reasons — because the pattern is only ever the answer to a question your code is already asking.
Is this course really free?
Yes. All 23 patterns, every simulator, every language and the completion certificate are free, with no signup and no paywall. Your progress is stored in your own browser.
Found this useful? Share it.
ShareXLinkedIn

Comments

0

Join the conversation. Sign in to leave a comment — we'd love to hear your thoughts.