Grokking Design Patterns for Engineers and Managers
A text based course on the classic object oriented design patterns, 22 in all across creational, structural and behavioural groups, with a real world problem, class diagram, pros and cons and code in Python, Java, JavaScript and C++ for each. It suits developers who meet patterns in code reviews and want to apply them where they help rather than everywhere, and those preparing for low level design discussions.
4.2/5 (1,835 reviews)
Course page · Sept 2026
5,505
Course page · Sept 2026
31 lessons, about 25 hours
Course page · Sept 2026
$78 one-time
Course page · Sept 2026
22
Course page · Sept 2026
Course
Other
Design Gurus
2 to 3 weeks
Intermediate
$78 one-time
What the course covers
The course page lists 31 lessons, about 25 hours of material and 22 code playgrounds, organised by the classic groupings:
- Creational: Singleton, Factory Method, Abstract Factory, Builder and Prototype.
- Structural: Adapter, Bridge, Composite, Decorator, Facade, Flyweight and Proxy.
- Behavioural: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method and Visitor.
Each pattern starts from a real world problem before showing the structure, then gives a class diagram, implementations in several languages and a discussion of trade-offs. It is written, not video, and includes a certificate of completion. At the time of checking the course page listed it at $78 as a one-time purchase with lifetime access, rated 4.2 out of 5 from 1,835 reviews with 5,505 learners.
The trap it helps you avoid
Design patterns taught badly produce engineers who wrap everything in a factory. Taught well, they are a shared vocabulary for describing a design decision in three words instead of three paragraphs. The difference is whether you learned the problem each pattern solves or only its structure, which is why the problem first approach matters.
How to use it
- Do one pattern per session and run the playground code in the language you use at work.
- For each pattern, find an instance in a codebase you already know. Frameworks are full of Observers, Strategies, Adapters and Decorators under different names.
- After each group, refactor a small piece of your own code using one pattern, then ask whether it made the code clearer. Sometimes the honest answer is no.
- Prioritise Strategy, Observer, Adapter, Decorator, Factory Method and Builder. They come up far more often than Flyweight or Visitor.
What you will be able to do afterwards
- Recognise the common patterns in frameworks and libraries you already use, which makes unfamiliar codebases quicker to read.
- Name a design choice in a code review or design discussion in a few words, and explain the trade-off it makes.
- Choose between similar patterns, such as Strategy and State or Decorator and Proxy, based on the problem rather than habit.
- Sketch a class diagram for a small system and justify where each pattern fits, which is what low level design discussions ask for.
Common questions
Do I need to know object oriented programming first? Yes. Comfort with classes, interfaces and inheritance in at least one language is assumed.
How long does it take? The listed 25 hours suggests two to four weeks at a few hours a week.
Is it only for managers? No. Despite the title, the material is technical and aimed at engineers; managers get vocabulary for design discussions.
Best for: developers a year or two in who want a structured, practical tour of classic design patterns.
Ready to start?
Opens on Design Gurus in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.